본문 바로가기

프로그램 경험/C/C++

[VC++] CMap 사용법 CMap *map; map->SetAt(_T("230.10"), _T("300")); map->SetAt(_T("230.15"), _T("305")); (*map)[_T("230.20")] = _T("310"); CString s = (*map)[_T("230.20")]; delete map;
[VC++] fatal error LNK1120: 1개의 확인할 수 없는 외부 참조입니다. interface를 하나 만들어서 사용하려 하니 오류가 발생한다. interface IDataSelect { virtual void Call() = 0; }; 빨간 부분을 안넣어줘서 생긴 문제였다. 근데 어떤 블로그에서 지나치며 본건데 C++에서는 interface에도 소멸자를 넣어야 된다는데 정말인가?
[VC++] 다이얼로그 베이스 프로그램에서 종료하기 메인 다이얼로그에서 로그인 할려고 모달로 로그인 다이얼로그를 실행한 뒤 로그인 화면에서 취소를 클릭시 프로그램을 종료하고 싶었다. 아래와 같은 코드를 통해서 메인 다이얼로그에서 호출하면 된다. CLogin login; INT_PTR nResponse = login.DoModal(); if (nResponse == IDCANCEL) { CDialogEx::OnCancel(); }
[VC++] error C2440: 'default argument' : 'const char [1]'에서 'LPCTSTR'(으)로 변환할 수 없습니다. VS6 사용하다가 짜증나서 VS2008로 갈아 탔다. 디버깅시 데이터 조회도 잘 안되고 리소스 디자인 편집도 쉽지가 않아서 짜증난다. VC++ 에서 사용하던 소스를 가져오니 아래와 같은 오류 발생 error C2440: 'default argument' : 'const char [1]'에서 'LPCTSTR'(으)로 변환할 수 없습니다. 정말 VC++은 쉽지가 않다. -_- 프로젝트 속성창에 들어가서 문자 집합을 멀티바이트 문자 집합 사용으로 변경해 주면 오류가 사라진다.
[VC++] DLL 보기 C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin 위의 경로에 가보면 dumpbin.exe가 있다. 하지만 처음 실행해 보면 mspdb80.dll 오류를 만나게 된다. C:\Program Files (x86)\Microsoft Visual Studio 8\VC 위 경로로 가서 vcvarsall.bat 을 실행하고 하면 된다. 하지만 콘솔에서 실행해야 하니 보기 불편하다. 아래 파일은 GUI로 볼수 있는 프로그램이다. dumpbingui 같은 경우 실행하면 mspd80.dll 오류가 날지도 모른다. C:\Program Files (x86)\Microsoft Visual Studio #\Common7\IDE 경로 가서 해당 dll 복사 해서 dumpbingu..
[VC++] cout은 왜 사용 못 하는것인가? VC++에서는 왜 cout을 사용하지 못하는것인가? 사용하려고 하면 오류가 난다...ㅜㅜ 개짜증난다 VC++
[VC++] 콘솔창 붙이기 #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")
[VC++] Unhandled exception in RichProject.exe (MFC42D.DLL): 0xC0000005: Access Violation. 아놔!!!!!!!!!! 뭘 못하겠다!!!!!!!!!!!! 뭐 하나 하려고 하면 다 오류냐!!!!!! 대체 이건 왜 오류냔 말이다!!!!!!!!!!!!!!!!!!!!!! void CRichProjectDlg::WriteLog(LPCTSTR s) { CString str_log; GetDlgItemText( IDC_EDIT_LOG, str_log); } 몇시간후... 불타오르는 분노를 가라앉히고 영화 좀 보다가 다시 생각해 보았다. WriteLog를 호출하는 부분은 모달창에서 호출하는 부분이었다. 쓰레드가 달라서 생기는 문제가 아닐까 하는 생각이 들었다. 하지만 VC++에서는 어떻게 해결해야 하는지를 모르기 때문에 다시 고민에 빠졌다. 그러던 중 호출하는 부분이 좀 이상하다는 생각이 들었다. //CDlg_t..