본문 바로가기
반응형

분류 전체보기778

[C, C++, MFC] 멀티코어 컴파일 옵션을 주어 컴파일 속도 증가시키기 vs2005 sp1, vs2008 이상부터는 멀티코어 컴파일 옵션(/MP)을 주어 컴파일 속도를 증가시킬 수 있다. (실제로 개발환경 PC의 코어가 멀티코어라고 해도 빌드시 모든 CPU를 100% 쓰지 않는다.) 먼저 컴파일 옵션을 주기 전에 설정해야 할 사항들이 있다. 1. C/C++ > Code Generation > 'Enable Minimal Rebuild' 옵션 해제. 2. 'Precompiled Header' 옵션 설정. (Create가 아닌 Yes로) 3. Linker > General > 증분 링크 사용 설정. (YES) 4. 커맨드 라인에 /MP 명령어 추가. (-Zm 옵션은 신경쓰지 말 것) 기존 프로젝트의 Rebuild 타임은 2분을 넘겼는데, 실제 적용 후 1분 30초 내외로 컴파일.. 2013. 11. 14.
오목 게임(인공지능 ㅎ) 2013. 11. 14.
시리얼 통신 필수 함수(HexToInteger, HexToFloat, HexToDouble) 원본 출처 : 여기 여기 시리얼통신할때 필요한 함수들이다 //BUFFER_SIZE는 배열이 가지는 최대값이다(예 #define BUFFER_SIZE 4096) //hex값을 integer형으로 변경, 0xabcd ->43981, 2465 -> 2465 BOOL GetHexStringToInteger(__in CStringA strHex, __inout int& nValue) { strHex.Replace(" ", ""); strHex.Trim("\r\n "); nValue = strtol(strHex, NULL, 16); return TRUE; } //hex값을 float값으로 BOOL GetHexStringToFloat(__in CStringA strHex, __inout double& fValue) .. 2013. 11. 14.
화면 캡쳐(Screen Capture) 하기 화면 캡쳐(Screen Capture) 하기 바탕화면 정보 얻어와 bmp 저장하기 현재 스크린 화면을 캡쳐하여 그 이미지를 정의된 DIB형식에 따라 BMP파일로 저장하는 방법에 대해서 알아보겠습니다. ( 저장된 파일은 현재 폴더에 'image.bmp' 파일명으로 저장됩니다. ) // 캡쳐를 하기 위해서 화면에서 현재 프로그램을 감춘다. ShowWindow(SW_HIDE); // 스크린 전체를 캡쳐하기 위해서 CWindowDC 형식으로 DC를 얻는다. // GetDC의 파라메터에 특정 윈도우 핸들을 넣지 않고 NULL을 넣으면 // CWindowDC 형식으로 DC를 얻게 된다. HDC h_screen_dc = ::GetDC(NULL); // 현재 스크린의 해상도를 얻는다. int width = ::GetD.. 2013. 11. 14.
[SendMessageCallback] 메시지(Message) 처리 윈도에 메시지를 보낼때 보통 PostMessage 또는 SendMessage를 사용합니다. 다 아는 얘기지만 PostMessage는 메시지를 보내고 그 결과를 기다리지 않는 비동기적 성격을 갖고 있으며 SendMessage는 메시지를 보내고 결과가 올때까지 기다리는 동기적 성격을 갖고 있습니다. 따라서 PostMessage는 결과에 상관없이 즉시 리턴하기 때문에 다음 명령을 바로 실행 할 수 있는 장점이 있는 반면 처리 결과를 알기가 불편하고 SendMessage는 메시지 처리결과를 알 수 있지만 처리하는 동안 기다려야 하는 불편함이 있습니다. 그렇다면 여러개의 윈도에 동시에 메시지를 보내놓고 먼저 처리대는 대로 그 결과를 받고 싶은 경우는 어떻게 해야 할까요? 이경우 PostMessage와 SendMe.. 2013. 11. 14.
간단한 FTP 프로그램 원본 출처 : 여기 여기 가끔씩 간단한 업데이트 프로그램을 작성할때 FTP를 이용하곤 하는데... 막상 WinInet FTP API를 이용해서 개발을 하다보면 손이 많이갑니다. 특히 UTF8 인코딩 문제는 상당히 귀찮습니다(어떤서버(알FTP)는 UTF8을 지원하지 않는 반면 또 어떤 서버(파일질라)는 UTF8만을 지원하기도 하죠) 또 컴파일 환경(유니코드, 멀티바이트)에따라 제대로 동작하지 않는 경우도 있구요...그래서 이참에 차라리 범용적으로 쓸 수 있고 기능성도 있는 간단한 클래스를 하나 만들어보자는 생각에 시간을 들여 아래와 같은 CSimpleFfp를 만들고 간단한 예제프로그램을 작성하였습니다. WinInet FTP Wrapper Class 정도 될 것 같군요. 테스트하려면 CFtpExDlg.cpp.. 2013. 11. 14.
반응형