본문 바로가기

Programming Language/C++,MFC5

HOWTO: Visual C++ 어플리케이션에서 메모리 누수 추적하는 방법 1. https://github.com/snoopspy/vmld 2. http://support.microsoft.com/kb/601929/ko (아래글 출처) ------------------------------------------------------------------------------------------------------------------- 이 문서는 이전에 다음 ID로 출판되었음: KR601929모두 확대 | 모두 축소이 페이지에서요약추가 정보MFC 가 보고하는 메모리 누수 정보디버그 버전 메모리 함수할당번호MFC 이외의 어플리케이션콘솔 프로그램에서 누수보고 예제콘솔 프로그램에서 누수보고 예제 결과속성요약 Visual C++ 어플리케이션인 경우 디버그 빌드의 메모리 관련 함수를.. 2014. 12. 26.
구조체 패딩(padding) 문제 출처 : http://pangate.com/19------------------------------------------------------------1. 구조체와 패딩비트아래와 같은 구조체를 선언했다고 하자.struct test_s {   char a;   int b; } test;char가 1바이트이고 int가 4바이트인 시스템에서 위의 구조체를 선언하고 sizeof()로 구조체의 사이즈를 찍어보면 얼마가 나올까? 생각대로라면 5바이트가 나와야 한다. 1 + 4 = 5 이니까..그런데 대부분의 컴파일러에서 실제로는 8바이트가 나온다. 이유는 패딩비트가 추가되어서 그렇다. 몇몇 컴파일러는 구조체의 필드를 메모리에 위치시킬때 중간에 빈 공간없이 쭉 이어서 할당하는 경우도 있지만, 대부분의 컴파일러는 .. 2014. 10. 24.
MFC 작업자 쓰레드(Worker Thread) 사용법 출처 : http://blog.daum.net/riversnails/8000679--------------------------------------------// Mydlg.h 파일// 쓰레드 함수용으로 사용될 구조체 변수 선언, 쓰레드 함수는 4Byte void형 포인터 밖에 파라미터로 줄 수 없기에 여러가지 값을 넘기기 위해 구조체의 포인터를 넘겨 주기 위함이다.typedef struct tagThreadParam{CWnd *pWnd; // CMydlg 포인터를 담을 변수BOOL *pDo; // CMydlg의 쓰레드 정지용 플래그를 담을 포인터 변수 // 그 밖에 필요한 것을 이 구조체에 선언하면 된다.} THREADPARAM; class CMydlg : public CDialog {BOOL m_b.. 2014. 10. 20.
MFC 콤보박스 [콤보 박스 사용 예] 1. 다이얼로그 등에, 콤보박스를 드래그 하여 올려둔다. 2. 컨트롤 타입의 변수 선언. 3. 콤보에 들어갈 목록을 배열로 작성 예) CString combo_value[] = {"111111","222222","333333"}; 4. 배열로 작성한 목록을 콤보박스에 추가 m_CtrlComBo.ResetContent(); // 콤보 박스의 모든 값을 초기화 for(int i=0; i 2010. 10. 5.