Loading...

문자열 비교할때 대소문자 구분없이 하기.

링크 : http://www.autobase.biz/Korean/AutoBaseHelp/Help9%5C%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8F%84%EC%9B%80%EB%A7%90%5Cstricmp.htm 문자열 비교할때 항상 소문자나 대문자로 변환해서 strcmp를 했는데 이런게 있었군..젝1. stricmp int retn=@stricmp(char *string1, char *string2); stricmp는 두개의 스트링을 비교하는 함수이다. 이 함수는 대소문자 구별을 하지 않는다. RETURN값 String1과 string2 가 같다면 retn -> 0 String1이 string2 보다 더 크다면 retn -> 1 String2가 string1 보다 더 같다면..

dllimport, dllexport

dllimport, dllexport DLL에서(로) 함수, 데이터, 개체를 내보내는(가져오는) 속성. 함수를 dllexport로 선언하면, 적어도 export된 함수 스펙과 관련된 .DEF (모듈 정의) 파일이 필요없다. 또한 dllexport는 __export 키워드 (16비트 버전의 VC++에서 사용) 를 대체한다. declspec(dllexport) 클래스의 클래스 템플릿 특수화(specialization)는 암묵적으로 declspec(dllexport)가 된다. 즉 템플릿은 명시적으로 인스턴스화(==구체화)되고, 그 멤버들은 반드시 정의되어야 한다. dllexport C++ 함수는 이름장식을 가진 함수를 노출시킨다. C++ 이름장식이 필요없다면, .def 파일 (EXPORTS(MSDN) 키워드)..

stl을 DLL제작시 문제점..warning C4251: 에 대한 대처

원문링크 : http://blog.naver.com/wwforever80/60043796212 #include #if !defined(DLLEXPORT_EXPORTS) # define DLLEXPORT_API __declspec(dllexport) #else # define DLLEXPORT_API __declspec(dllimport) #endif class DLLEXPORT_API CDLLexport { public: std::vector vs; }; warning C4251: 'vs' : class 'std::vector' needs to have dll-interface to be used by clients of class 'CDLLexport..

2010. 11. 7. 12:01

RTTI

rtti에 대해 잘 나온글.링크는 비공개로 되어 있지만 이글만으로 충분한 설명이 되어 있는듯 하다.링크 : http://www.anycoding.com/bbs/board.php?bo_table=acProgram_Cpp&wr_id=3816 이 글은 Furyheimdall 에 의해 furyheimdall.springnote.com 에서 작성되었습니다.퍼가실 때는 furyheimdall.springnote.com 혹은 furyheimdall.tistory.com 을 표기해주세요.RTTI 란?Run Time Type Information  or  Run Time Type Identification의 약자로 실행시간에 타입정보를 식별 정도로 풀이할 수 있습니다.정확한 의미는, 실행중에 기반 클래스 타입 포인터의 ..

safe memcpy

사용법 uiSize = sizeof( D3DXVECTOR2 ); SafeMemcpy(dstbuffer, srcbuffer, uiSize, start(여기선 dstbuffer), 마지막위치(여기선 dstbuffer + (uSize+1))); 이런식으로 사용하면 된다. 그냥 간단히 src와 dst, 그리고 복사할만큼의 크기로 memcpy할때 안전한지 체크한다. 그다지 쓸일이 많지 않기도 하지만 중요한 부분을 처리할때는 이렇게 사용해도 괜춘은듯. 그냥 api보고 베껴서 만들었다.흐헤헤. BOOL SafeMemcpy(void *dst, void *src, size_t n, void *start, void *end) { if(n < 1) { #ifdef _DEBUG MGASSERT(!"Font memcpy fai..

pointer to member function의 크기?

본문 : http://www.gpgstudy.com/forum/viewtopic.php?topic=5749 VC 컴파일러 혹은 링커의 버그를 발견한 듯 싶습니다. 올려짐: 2005-04-24 09:38 자세한 내용은 http://wminos.jaram...p/Project_PacMan#s-5 위키에 정리해놨습니다. ----------------------- 팩맨 게임 코어에 GUI시스템을 작성하던 중 실행타임 버그를 발견하게 되었습니다. 디버깅을 아무리 해도, 납득할 수 없는 현상이었는데. 소스에는 아무런 문제가 없어 보입니다. dev-c++ 로는 에러없이 컴파일 되는군요. vc7 과 vc8 beta 에서는 에러가 발생합니다. 몇시간을 디버깅 한 결과, 발생 원인을 알게 되었고.. 스샷과 그 현상이 일어..

The <algorithm> header doesn't seem to contain std::min() and std::max() any longer

std::min, std::max를 쓰는데 이상한 오류가 났다. 이에대해 찾은 해결책. The header doesn't seem to contain std::min() and std::max() any longer. I looked in the VC\include folder and found only minmax.h with old macros-based min() and max() implementation. VS2005B2 MSDN clains min() and max() are still available in the header. algorithim 헤더가 std::min이랑 std::max를 가지고 있지 않은것 같애 ㅜㅜ. 그래서 내가 vc의 include 폴더의 minmax를 찾아서 살펴보..

boost 설치 하기

boost가 정말 잘 만들어진 라이브러리어서 안 쓸 수가 없다. 가장 기본인 boost 설치하는 방법을 설명 하겠다. 나의 환경: boost version: 2008.6.26. 현재 1.35. site: http://www.boost.org/ compiler: visual studio 2005. os: windows xp 1. boost 사이트로 가서 boost를 down 받는다. http://www.boost.org/users/download/ boost package와 boost jam이 있는데, boost package이 boost library이고 boost jam은 boost를 컴파일 해 주는 utility이다. boost jam은 다운받지 않겠다. 2. boost를 down 받아서 압축을 푼다..