IT-개발(156)
-
OutputDebugString - 잘쓰기 (펌)
출처 : http://egloos.zum.com/tiger5net/v/5328868 윈도우 프로그래밍을 할 때, 디버그 모드에서는 잘 돌아가던 프로그램이 릴리즈 모드에서 이상한 증상을 보이면 참 난감하다. 물론 Visual Studio 2005는 릴리즈 모드에서도 디버깅이 가능한 것처럼 보이지만 실제로 해보면 코드추적(tracing)도 잘 안 되고, 변수값도 이상하게 찍히기 때문에 별로 도움이 안 된다. 인자로 넘긴 문자열을 Visual Studio 출력창에 찍어주는 OutputDebugString 함수를 쓰면 예전에 printf()로 하던 것처럼 디버깅할 수 있다. 특히DebugView라는 프로그램을 실행하면 이 함수의 출력값을 -Visual Studio 출력창이 아닌- 윈도우 화면으로 확인할 수 있기..
2015.09.30 -
extern - case1
"extern" 키워드를 얼마나 써봤나??? 예전에 이녀석 때문에 잠시 고생해서 기억이 오래간다고 생각했는데~ 역시 잊었는지~ ㅠㅠ.. 다시 고생함. 당인히 내가 C / C++ 문법이야 여러번 훝어봤는데... 또 모르니...http://soen.kr/ 요기서~ 확인~ 실제 상황은 이렇다. -----------------------A.hint a = 1;-----------------------b.cpp#include "A.h"extern int a;-----------------------c.cpp#include "A.h"extern int a;----------------------- Error !!! b.cpp, c.cpp 에서 다 a 값을 변경하거나 참조할 일이 있는데~~ 자꾸만 error 난다....
2015.09.30 -
Dbgview - OutputDebugString
https://technet.microsoft.com/en-us/sysinternals/bb896647.aspx 여기에 Dbgview에 대한 모든 설명이 있습니다만, sysinternals 대단해요~~ 일단 저는 win32 Api outputdebugstring kernel mode 에서 DbgPrint 통해 Message를 확인하는 용도...로만 사용중이 긴한데~ 더 많은 활용도를 가지고 있으니 활용해서 PG 개발때, 메세지를 충분히 확인하며 개발 진행하자~~~. OutputDebugString MS의 WinDBG로 착각하면 않됩니다~ ㅠㅠ.. 다른 PG 입니다. 저는 함씩 착각하네요~
2015.09.30 -
DLL 만들때, 정적 라이브러리에서 MFC 사용 !!!(펌)
(출처 : http://six605.tistory.com/466) MFC 응용프로그램 배포 시, MFC 사용 방법을 프로젝트 설정에서 설정해준다. 공유 DLL에서 MFC 사용 : 응용프로그램 배포 시 mfc**.dll 파일을 함께 배포.정적 DLL에서 MFC 사용 : 응용프로그램의 실행 파일에 mfc**.dll 이 포함되어 배포되기 때문에 응용프로그램만 배포. 배포 시 응용프로그램만 배포하는게 관리하기도 편하고 오작동의 가능성도 적기 때문에 "정적 DLL 에서 MFC 사용" 으로 프로젝트를 설정하여 개발하게 된다. 응용프로그램이 DLL 일 경우 위와 같이 설정하면 컴파일 시 다음과 같은 오류 메시지가 발생한다.fatal error C1189: #error : Please use the /MD switch..
2015.09.24 -
특정 폴더를 한번에 삭제하기(폴더안 파일까지 포함) [펌]
[출처 : http://yamoe.tistory.com] 윈도우에서 폴더 삭제시 비어있는 폴더가 아닌 경우 일일히 폴더 안의 파일을 삭제해줘야 하는데 (DeleteFile후에 RemoveDirectory) 쉘을 사용할 경우 한번에 삭제할 수 있다. (어떤 사람들은 system("삭제명령")을 쓰라는 얘기도 있는데 이건 너무한 것 같다.) 이 쉘 함수가 SHFileOperation()으로 파일 및 폴더의 삭제, 복사, 리네임 등 flag에 따라 많은 일을 해준다. (옵션에 따라 휴지통에 지울 수 도 있다.) 문제는 Vista 이후 부터는 IFileOperation 를 사용하길 권장하고 있으며 실제로 Windows 7에서 SHFileOperation()을 사용할 경우 삭제시 파일을 못찾겠다는 둥 오동작을 한..
2015.09.18 -
stl - string - resize 함수에 대해...
요거 땜에 오늘 하루 죙일 삽질 좀 했네요~ 에거~ ㅠㅠ string의 resize() 함수에게 속지 맙시다~ 그리고 string의 기능에 대해서 좀더 잘 알아둘 필요가 있을거 같에요 일반적으로 char str1[100] = "111"; char str2[100] = "222"; strcat(str1, str2); 이렇게 하면 당연히 str1 의 Data는 "111222" 이렇게 된다고 생각합니다.... 당연한겁니다... 근데, STL string의 resize 라는 함수를 쓰는 순간 이렇게 동작하지 않게 됩니다. strcat 함수 같은 경우 보면, 문자들을 붙여주는 기능을 하는 기준이 NULL 문자를 제외한 문자들 간의 연결입니다. 그런데, string은 그렇지 않더군요. 내부 적으로 size, cap..
2015.09.07