전체 글
Language & API/C++
2015. 10. 8.
[코딩]동적 2차 배열 만들기
동적 2차 배열을 만드는 방법이다. 매번 까먹기에 적어둔다. 1234567891011121314151617181920int a[2][4] = { {1,2,3,4}, {5,6,7,8}}; int **te = new int*[2]; for (int i = 0; i
Language & API/C++
2015. 10. 7.
[코딩]C++ cout 관련 정보
cout 에서 소수점 고정 하기 위해 필요한 함수 들이다. cout.precision(5)cout.setf(ios::fixed, ios::floatfield); 이렇게 적으면 cout 을 쓰면 계속 유지가 된다. 해제는 다음과 같이 하자 cout.unsetf(ios::floatfiled); cout 관련된 홈페이지 : http://www.cplusplus.com/reference/ios/ios_base/
Language & API/OpenCV
2015. 10. 5.
[이론] 벡터
내가 본 벡타란 크기 , 방향, 좌표(X)의 성질을 가진다. 즉 크기와 방향만 생각해야 한다. 거기에 더하기 , 빼기 , 내적, 외적 이 있다. 그리고 LP1 norm(놈) 와 LP2 norm(놈)이 있다. L1-norm => x[-5, -2, 3] 위와 같은 벡터 x가 존재할 때, L1-norm 은 각각의 값의 절대치의 합이다. 10이 된다. L2-norm 은 우리가 일반적으로 알고 있는 norm이다. 따라서 각각의 요소를 제곱한 값을 합하고 루트를 취해주면 된다. 이것을 풀어 보면, 원점과 해당 벡터의 가장 가까운 거리를 의미한다.
Language & API/OpenCV
2015. 10. 2.
[세팅관련]OpenCV2411 + MFC VS2013 세팅 방법(Static lib 사용)
일단 가장 먼저 필요한 것은 OpenCV를 다운 받는 것이다. http://opencv.org/downloads.html 위에 사이트에 들어가면 여러가지 버전의 OpenCV를 다운 받을 수 있다. 일단 2.4.11 OpenCV for Windows를 다운 받아 보자. opencv-2.4.11.exe 를 풀면 다음 과 같은 폴더가 보인다. 이후 아래 그림에 보이는 include 폴더는 포함 디렉토리에 넣을 것이다. X64폴더 안을 살펴 보면 다음과 같이 보인다. 아래 staticlib는 라이브러리 디렉터리 폴더에 추가 할 것이다. 일단 Static Lib를 사용하기 위해서는 런타임 라이브러리를 다중 스레드 디버그(/MTd)로 변경 해주어야 한다. 그리고 속성 관리에 가서 새 프로젝트 속성 관리 시트 추가를..
Language & API/C++
2015. 9. 3.
[이론]SAL를 사용하자(Source Code Annotation Language)
SAL의 정의 및 이를 사용해야 하는 이유 1. 코드의 품질을 높이는 SAL 2. 보안 및 코드의 안정성을 개선하는 데 도움이 되는 강력한 기술 SAL 네 가지 기본 유형의 사용 패턴으로 분류 되는 매개 변수를 정의 합니다.범주매개 변수 주석설명함수 호출에 대한 입력_In_데이터는 호출된 함수에 전달되고 읽기 전용으로 취급됩니다.호출된 함수에 대한 입력과 호출자에 출력_Inout_사용 가능한 데이터 함수에 전달되고 잠재적으로 수정 됩니다.호출자에 출력_Out_호출자만 쓰려고 하는 호출된 함수에 대한 공간을 제공 합니다.호출된 함수는 해당 공간에 데이터를 씁니다.호출자에 포인터 출력_Outptr_마찬가지로 호출자에 출력. 호출된 함수에서 반환되는 값이 있습니다.
Language & API/C#
2015. 8. 25.
C++ MFC DLL을 C#에서 로딩하기
MFC DLL 에서 C#을 로딩하기 위해 다음과 같이 옵션을 세팅했다. MFC에서 DLL을 만드는 방법은 아래와 같이 3가지가 있습니다. 1. 공유 MFC DLL을 사용하는 기본 DLL(동적으로 MFC에 링크하는 기본 DLL) - 이 DLL은 Visual C++ 4.0에서 도입된 새로운 형식의 DLL입니다. - C, C++, 파스칼, Visual Basic 등 DLL 사용을 지원하는 모든 언어로 클라이언트 실행 파일을 만들 수 있으며 이 실행 파일은 MFC 응용 프로그램이 아니어도 됩니다. - 정적으로 링크되는 기본 DLL과 달리 이 형식의 DLL은 공유 MFC DLL이라고도 하는 MFC DLL에 동적으로 링크됩니다. - 이 형식의 DLL에 링크된 MFC 가져오기 라이브러리는 확장 DLL 또는 MFC D..
IDE/Visual Studio
2015. 8. 25.
VS 2013 단축키
일단 개발하면서 자주 사용하는 단축키입니다. F12 : 선언부 이동 CTRL + - : 이전 탐색 CTRL + K , CTRL + C : 주석 처리 CTRL +K , CTRL +U : 주석 해제 아래 MS 홈페이지 단축키 모음 페이지가 있습니다. https://msdn.microsoft.com/ko-kr/library/da5kh0wa.aspx
IDE/C Builder
2015. 7. 3.
XE8 빌더 실행 파일 배포 옵션
Xe8 프로그램을 빌드한 파일을 다른 컴퓨터에서 실행 시키면 아래와 같은 에러 메세지를 발생합니다. 원인은 라이브러리가 포함되지 않은 껍데기만 있는 EXE 파일입니다. 라이브러리가 포함된 EXE 파일을 만들긴 위해선 XE8에 있는 옵션을 설정해 줘야 합니다. 단일 exe 파일 실행 환경 프로젝트 -> Options -> C++ Linker -> Link with Dynamic RTL 체크 해제 프로젝트 -> Options -> Packages -> Runtime Packages -> Link with runtime packages 체크해제
Language & API/C++
2015. 6. 26.
HEAP CORRUPTION DETECTED 발생
HEAP CORRUPTION DETECTED 발생 void CIni::SaveString(const TCHAR *KeyName, TCHAR *value) { int strLen = _tcslen(value); TCHAR *strQuot = new TCHAR[strLen + 1]; strQuot[0] = _T('\"'); _tcsncpy(strQuot + 1, value, strLen); strQuot[strLen + 1] = _T('\"'); strQuot[strLen + 2] = _T('\0'); WritePrivateProfileString(_appName, KeyName, strQuot, _fileName); delete[] strQuot; } 위와 코드 delete[] 부분에서 아래와 같은 에러가..