Programming/C++

Programming/C++

C++ 문자열변환

http://devluna.blogspot.kr/2016/01/mfc-c-cstring-stdstring-lpctstr.html?m=1

Programming/C++

링크 오류 LNK2019

RTM DOS 프로그램을 WINDOWS로 변환하면서 발생하는 마지막 링크오류 2019. DynArray template을 이용하는 Polyhedra의 멤버 변수 두개는 아래와 같다. DynArray mVertice; DynArray mPolygons; 하지만, 이와 관련된 에러 인듯하나 계속해서 아래의 에러가 발생함. 오류 1 error LNK2019: "public: __thiscall DynArray::DynArray(int,int)" (??0?$DynArray@Vvec@@@@QAE@HH@Z) 외부 기호(참조 위치: "public: __thiscall Polyhedra::Polyhedra(void)" (??0Polyhedra@@QAE@XZ) 함수)에서 확인하지 못했습니다. C:\Users\Yuseok..

Programming/C++

문자열에 대한 정리 (char, wchar, tchar)

문자열에 대해서 늘 할때마다 고생을 하고 있다.. 프로젝트 속성에서 멀티바이트 또는 유니코드 중에 설정해서 문자열에 대한 처리를 생각하게 된다. 멀티바이트의 경우는 보통 한 문자를 1byte로 처리하다가 경우에 따라 2byte로 묶어서 처리를 한다. 이와 같이 그 char에 대한 크기가 고정적이지 않기 때문에 문자열이 깨지는 현상이 생길수 있다. 이에 대한 문제 해결책이 유니코드.. 유니코드는 모든 글을 2byte로 처리를 한다. 하지만 시스템 설정에 따라서 설정을 용이하게 문자열을 처리할 수 있는 것이 tchar..!! 아래와 같이 설정이 바뀐다.. #ifdef _UNICODE #define TCHAR wchar_t #define _T(x) (Lx) #define _tcscpy_s wcscpy_s #e..

Programming/C++

Static & Dynamic Library 관련 내용..

참고 블로그.http://darkpgmr.tistory.com/50 Static , Dynamic library 사용Static library 의 경우는 .lib 파일만 로드를 하면 됨. 해당 코드를 사용되는 위치에 로드를 하는 방식으로 동작함.Dynamic은 .lib, .dll 파일 모두 필요함. 요약../MD , /MT 의 차이 설명CRT (C Runtime LIbrary)를 컴파일시에 동적라이브러리로 로드할지 아니면 정적으로 할지를 결정하는 것.따라서 외부 라이브러리가 /MD로 컴파일 되어 있고, 이를 사용하는 응용프로그램에서 /MT로 할 시에 동일한 라이브러리가 겹쳐서 로드가 될수 있음. 그에 따른 컴파일 오류가 발생함. 1. 동적 라이브러리(Dynamic Link Library)프로그램 실행 시..

Programming/C++

Debug에서는 잘 돼는데 Release 에서 안될때

고질적인 문제다.. VC6.0을 이용하는 개발자는 한번쯤은 누구가 격어보는 문제이지. Debug에서는 잘 되는데 Release 에서 괜히 죽거나 프로그램 실행이 안되거나 하는 문제의 원인은... 누군가 아래와 같이 말하더군. ============ 디버그 모드는 디버깅을 위한 정보뿐만 아니라 각종 변수들도 어느정도 초기화 해주는걸로 알고 있습니다. 그외에도 다른 처리(?)를 하는걸로 알고 있구요. 즉 에러가 날 가능성이 적다는 말이겠죠 시작하기전에 죽어버린다면 님이 작성한 프로그램의 초기화에서의 문제가 있다고 봐야겠군요. 초기화 하지 못한 변수라든가 올바르지못한 메모리할당등 초기화 부분에서의 문제를 살펴봐야 할 듯 합니다. ============= 그렇군. 초기화가 중요하단 얘기군. 알겠어. 그런데 본 ..

Programming/C++

파일 패스 잘라내기

해당 프로그램의 절대 경로를 얻어 온 다음에 파일 패스를 잘라낼 때 아주 간단하게 이용할 수 있는 방법이다. _splitpath()함수를 이용하면 아주 간단하게 해결할 수가 있다. [샘플 코드] char path_buffer[_MAX_PATH]; char drive[_MAX_DRIVE]; char dir[_MAX_DIR]; char fname[_MAX_FNAME]; char ext[_MAX_EXT]; GetModuleFileName( NULL, path_buffer, sizeof(path_buffer)); printf( "Full Path : %s\n\n", path_buffer ); _splitpath( path_buffer, drive, dir, fname, ext ); printf( "Drive :..

RichardBang
'Programming/C++' 카테고리의 글 목록