본문 바로가기

프로그래밍/C++ / API6

미리 컴파일된 헤더의 가상 메모리 범위 초과 error C3859: PCH에 대한 가상 메모리 범위를 초과했습니다. 명령줄 옵션을 '-Zm129' 이상으로 지정하여 다시 컴파일하십시오. 무슨 말이 필요할까요 :) 아래 그림대로 하세요 2012. 11. 23.
오버라이드(Override)와 가상함수(Virtual Function) 오버라이드는 상속관계에서 함수 자신의 내부에서 관련 함수를 찾아서 동작하기 때문에 내부 함수가 있다면 부모쪽으로 넘어가지 않으니 자연히 자기가 가진 함수가 동작하게 된다 가상함수는 내부에서 결정하지 않고 포인터가 실제 가르키는 객체에서 동작을 하게 된다 설명이 조잡하지만, 예제를 보면 이해가 될테고 활용하는데 도움이 될 듯. 관련 내용 추천도서는 effective c++ 이다.. 뭐 지금은 이 바닥 교과서 처럼 된 듯 예제 #include "stdafx.h" #include #include #include class CItem { public: virtual void Run() const = 0; void IsA() { std::cout 2012. 9. 6.
디아블로3 채팅 아이템 정보 넘기기 채팅창 오류를 이용해서 아이템 정보 챗창에 붙이는 부분을 깨부술 수 있었다... 정말 심플하게 정보 넘겨주고 있었다;; 그냥도 이정도 파워라면 옵션 대박이 터져준다면 ㅠ.ㅠ [해골 부수개] 그냥도 이정도 파워라면 옵션 대박이 터져준다면 ㅠ.ㅠ |HItem:2,-1656024000:-137165370:1055553278,1176553157,1176553157,1176553157,1176553157:-1:0:-1:-1:-1:8:646:646:0:0:7:0:|h[꾺ffffff00}꾀 2012. 5. 21.
환경 변수 설정 Boost 나 기타 라이브러리 쓸 때 매번 버전 바뀌고 개인별로 설치한 위치도 다르고 하면 골치 아프니 팀개발이나 버전 관리할 때 환경 변수를 등록해두면 좋다.. 2012. 3. 2.
char* / char[] 공백문자 제거 tchar 와 char 간 문자열 인식 문제 때문에 필요하게 될 것이다~ 긴 말 필요 없고 소스로 더 간단한건 std::string 으로 바꾸고 맨 뒤를 erase 로 날려버려도 된다 ㅋ #include // isspace() #include // strcpy_s() strlen() #define MAX_STR_LEN 4000 char* trim(char *s); // 문자열 좌우 공백 모두 삭제 함수 char* ltrim(char *s); // 문자열 좌측 공백 제거 함수 char* rtrim(char* s); // 문자열 우측 공백 제거 함수 // 문자열 우측 공백문자 삭제 함수 char* rtrim(char* s) { char t[MAX_STR_LEN]; char *end; // Visual C 2.. 2011. 11. 2.
소스코드 인용구 테스트 &lt; < 어떻게 하는걸까요 -_-;;;;;;;;;; 너무 어려운데... http://nnoco.tistory.com/26 를 참조하면 쉬울 듯 int _tmain(int argc, char* argv[]) { try { // io_service를 하나 생성한다. boost::asio::io_service io_service; // 접속 시도 CProtocol Ptc(io_service); boost::thread t(boost::bind(&boost::asio::io_service::run, &io_service)); Ptc.Connect(); boost::thread Recv(boost::bind(&CProtocol::handle_Recive, &Ptc)); boost::thread Send(boost::b.. 2011. 10. 24.