IT-개발(156)
-
Microsoft.Windows.Common-Controls 6.0 Style
예전에 VC6.0 쓰던때에는 UI가 Common-Controls 6.0 Style로 나오도록 하기위해서 리소스 파일에 manifest 파일을 추가해서 컴파일해주면 됐다~ 근데, VS2010을 쓰고 있는 지금 dialog 프로젝트를 만드는 때에 체크만 해줘도 이렇게 UI가 나오는데, 리소스에는 manifest 파일이 보이지 않는다. Debug, release Folder를 보면 알수없는 파일들 중에서 manifest 라는 단어가 들어가 있는 파일들이 있다~. 근데, 이걸 고치는건 해결방법이 못된다. 이유는 다~ 아실테고~ 그래서~ 똑같은 이름의 Project를 Dialog style로 생성해서 소스를 비교해보니 역시 차이를 알 수 있었다. 원인이 되는 코드는 stdafx.h 파일에 있는 코드의 차이였다. ..
2015.07.23 -
메모리누수 - 대응법(2)
C++ 메모리 누수 체크 및 디버깅(펌) C 또는 C++ 프로그램을 작성하다보면, 본인도 모르는 사이 메모리 누수가 발생한다. 그리고, 이 문제가 발생하는 코드를 찾고, 해결하는 것은 프로그램 실력이 부족한 본인과 같은 사람들에게는 쉽지 않은 일이다. 그래서, 이 글에서는 C++에서 메모리 누수의 발생여부를 확인하고 디버깅하는 방법을 정리해 보고자 한다. 메모리 누수 체크 일단 해당 프로그램의 main 함수가 있는 'cpp' 파일에 아래와 같은 부분을 추가한다. #include #ifdef _DEBUG #define new new( _CLIENT_BLOCK, __FILE__, __LINE__ ) #endif 그리고, main 함수 내부에 다음과 같은 코드를 삽입한다. _CrtSetDbgFlag( _CRT..
2015.07.02 -
메모리누수 - 대응법(1)
CRT의 디버그 기능으로 메모리 누수 디버깅하기 (Memory Leak) - (펌- 출처:http://copynull.tistory.com/121) 일반적으로 가장 잡기 힘든 버그의 하나로서 메모리 누수, 메모리 Overwrite등을 꼽을 수 있다. 이런 문제점을 해결하기 위해 CRT(C Runtime library)에서는 여러가지 다양한 메모리 관련 디버그 함수들을 제공한다. 그러나 이것들이 디폴트로 사용하기 힘들게 꺼져 있기 때문에 대부분의 프로그래머들은 이 사실을 알지 못하는 경우가 많다. 그래서 이 글에서는 CRT의 디버그 관련 함수들에 대해 알아보고 어떻게 사용하는 것이 좋은지에 대해 논해 보려고 한다. 12345678#include int main(void){ int *a = new int; ..
2015.07.02 -
"Warning: Calling DestroyWindow in CWnd::~CWnd" 처리하기(펌)
멋진분이네요~ 사진도 올려놓고~ ㅋ. 핵심은 DestroyWindow()를 까먹지 말자~ ㅋㅋㅋ 간혹 개발을 하다 보면, 아래와 같은 메시지가 발생할 때가 있습니다. Warning: calling DestroyWindow in CWnd::~CWnd; OnDestroy or PostNcDestroy in derived class will not be called. 처음에는 저 메시지를 무시했었습니다. 프로그램이 동작하는 데에는 아무런 이상이 없었거든요. 그러던 차에, 오늘 너무나 많은 경고 메시지가 나길래 한 번 없애기로 마음을 먹었습니다. 그리곤 다른 곳을 검색했지요. 그럼으로써 그와 파생되는 다른 지식을 얻어가게 되네요. 위의 에러 메시지가 나타나는 경우는 CWnd를 상속받은 윈도우에서 DestroyW..
2015.07.02 -
어디든 사용되는 기본 쿼리문들~ (펌)
요기서 가져왔어요~ 쿼리 명령을 실행하려면 1, [전체관리]→[DB관리]→[테이블 관리] 페이지에서 우측프레임 하단에 [MySQL 쿼리실행] 버튼을 클릭하고, delete from ABCDE where no='3' 처럼 직접 쿼리문을 입력하고 [실행] 버튼 클릭하면 됩니다. 2, 별개의 php 파일을 만들어서 실행하려면
2015.07.02 -
CListCtrl 의 정렬 기능~
OnCompareItems(LPARAM lParam1, LPARAM lParam2, int iColumn) 함수에서 어떤 기준으로 정렬을 하게 끔 할지 정할 수 있어요~ 요즘 CMFCShellListCtrl 을 많이 쓰던데~ 이녀석의 OnCompareItems 함수 관련 코드를 보면 많이 참조할 수 있어요~ ^_^ 이런건 오랫만에 봄~
2015.06.16