본문 바로가기

개발76

DLL의 기본 출처: http://egloos.zum.com/sweeper/v/2991664 이제까지 DLL을 만들어서 사용하기는 했지만 상세한 설정이나 구동 원리는 모르고 그냥 사용해 왔는데 출처에서는 체계적으로 잘 정리해 두셨네요. 그중에서도 .def 파일을 사용해서 Export된 함수나 변수명을 지정하는 것과 #pragma comment 지시어를 사용하는 방법은 무척 유용하게 사용할 수 있을 것 같습니다. 시간 되실 때 꼭 한번 읽어보시면 좋을 것 같습니다. 그리고 C++ 클래스에 extern "C"를 사용하면 안되는 이유가 다른 글(http://sweeper.egloos.com/1792976) 에서 상세히 설명되어 있으니 그 글도 참조하시면 무척 도움이 될 것 같습니다. 2016. 2. 3.
CString의 TrimRight() Method 출처: http://shaeod.tistory.com/440 CString 문자열의 오른쪽에 있는 공백을 없애기 위해서 TrimRight 함수를 TrimRight(' ') 처럼 사용해왔는데, 특정 문자를 지정 안하고 TrimRight()처럼 호출하니 공백과 탭 문자를 동시에 제거해주네요. 2015. 12. 3.
함수의 인수로 배열을 전달할 때 유의점 출처: http://hururuc.tistory.com/12 보통 배열의 크기를 알아낼때 sizeof(xx)/sizeof(*xx) 를 많이 쓰는데, 함수로 전달된 배열에서는 그게 잘 안되더군요. 구글링을 해보니 출처에서 다음과 같이 정리해놓으셨네요. [함수 인수로 배열을 전달시에 유의점] - C에서 함수의 인수로 배열을 전달하는 것은 제공하지 않음. Only 포인터만 전달 가능. ex) int func( int array[10] ) { return sizeof(array); } // 여기서 반환값은 sizeof(int) * 10, 즉 40이 아니고, sizeof(void *), 즉 4가 된다. - 결과적으로, C에서 함수를 정의할 때 void func(int ar[]) void func(int *ar) .. 2015. 7. 9.
VS2010 컴파일시 ToolsVersion = "12.0" 경고 해결 방법 출처: [1] http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=52&MAEULNO=20&no=51630&page=9 [2] http://fuerte.tistory.com/125 병렬 처리 때문에 잠시 VS2013을 쓰다가 컴퓨터가 문제가 생겨서 예전에 백업했던 이미지로 복구하는 바람에 VS2010으로 내려왔더니 VS2010으로 컴파일 할때 다음처럼 ToolsVersion = 12.0 warning이 발생하네요. 프로젝트 파일에 ToolsVersion="12.0"이(가) 들어 있습니다. 이 도구 집합은 알 수 없거나 누락된 것 같습니다. 이 도구 집합에 적합한 버전의 MSBuild를 설치하여 이 문제를 해결할 수 있습니다. 또는 빌드가 정책 원인에 대한.. 2015. 5. 27.