본문 바로가기

C

#define 문법.. while, Singleton while 문을 사용하다보면 의도치 않게 기본적인 실수를 할때가 있습니다..그러다 잘못하면 무한루프에 빠지게 되는데... #ifdef _DEBUG #define WHILE WHILE_DEBUG #else #define WHILE while #endif // DEBUG #define WHILE_DEBUG(type) \ int __nCount = 0; \ while( type ) \ if(++__nCount > 100000) \ { printf("[FileName:%s][Func:%s][Line:%d]",__FILE__,__FUNCTION__,__LINE__); break; } \ else \ void main() { int nCnt = 0; WHILE(1) { ++nCnt; } printf("결과값 : %.. 더보기
Visual Studio 2010 UTF-8 파일 저장 및 공백 탭 제거하기(완결판). 2011/08/25 - [ETC] - Visual studio 2010 소스 저장 UTF-8 로 하기 및 뒷줄 공백 제거 아래에 있는건 파일 저장 할때 자동으로 utf-8로 저장을 하는거라.. 가끔 원치 않는 결과를 낳을수도 있게에 필요할때 단축키로 하는 방법을 만들어 봤습니다. 일단 Alt + 11키를 눌르거나 도구 -> 매크로 -> 매크로 IDE로 매크로 IDE를 실행시킴니다. 탐색기에서 MyMacros쪽에 추가 -> 모듈 추가로 새로운 매크로 파일을 생성후 Public Module Module1 여기 아래 부분에 매크로를 작성하시면 됨니다.. Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE90a Import.. 더보기
Visual studio 2010 소스 저장 UTF-8 로 하기 및 뒷줄 공백 제거 Visual studio 의 기본 문자셋은 cp949 utf-8로 저장을 하려면 파일->고급 저장 옵션에서 설정을 해야만 한다... 하지만.. 매크로를 사용하면 되는데... 매크로를 이용한 utf-8 자동 저장하기 링크 주소 뒷줄 공백 제거 링크 주소 이걸 참조하셔서 하시면 되는데.. Public Sub DocumentEvents_DocumentSaved(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentSaved Dim path As String = Document.FullName MakeUTF8File(path) Dim result As vsFindResult 'Dim nameresult As String Try Document.Ac.. 더보기
c/c++에서 문자열 인코딩 변환! 유니코드 멀티바이트 UTF-8 쉽게 변환해보자~! 문자열을 인코딩 하는 방법은 여러가지가 있습니다.. 가장 널리 알려진 방법으로는 유니코드 -> 멀티바이트 wchar_t strUnicode[256] = {0,}; charstrMultibyte[256] = {0,}; wcscpy_s(strUnicode,256,L"유니코드"); int len = WideCharToMultiByte( CP_ACP, 0, strUnicode, -1, NULL, 0, NULL, NULL ); WideCharToMultiByte( CP_ACP, 0, strUnicode, -1, strMultibyte, len, NULL, NULL ); stl이용wstring strUni = L"유니코드"; int len = WideCharToMultiByte( CP_ACP, 0, &strUni[.. 더보기
error LNK 2005 xxxx이(가) MSVCRT(D).lib 혹은 LIBCMT(D).lib 에 이미 정의되어 있습니다.. 오류날때 대처방법 error LNK2005: _printf이(가) MSVCRTD.lib(MSVCR100D.dll)에 이미 정의되어 있습니다. F:\Project\GGangster\GGangster\libcmtd.lib(printf.obj) ...... ..... 수많은 오류가 나왔다.. 이와 같은 설정의로 에러를 경고로 나오게끔 하는 방법이 있지만 근본적인 해결방법도 아니고 수없이 많은 warning도 보기 좋지 않다.. 일단 이 오류가 나오는 원인은 빨간 색 부분의 런타임 라이브러리때문에 생기는 문제이다... 프로젝트를 진행하다 보면 외부 라이브러리를 많이 사용하게 되는데. 외부 라이브러리는 MT(d)로 컴파일 되어있으나 내가 사용하는 프로젝트는 MD(d)로 되어 있으면 어김없이 LINK2005 오류가 발생하게 된다.... 더보기
msado15.dll를 이용한 oledb사용시 CreateInstance(__uuidof(Connection)) 실패할때.. 빌드한 환경 windows7 Ultimate k 64 sp1 visual studio 2010 sp1 컴파일한 컴터에서는 아무런 이상없이 너무나도 잘된다.. 그런데 다른 곳에서 하면 db connect에러가 자꾸 나온다.. 도대체 뭐가 문제인지 몰라서 온갓곳을 다 찾아봤지만.. GG 안되는 컴터에 remode debuger 설치해놓고 디버깅해본결과 #import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename( "EOF", "adoEOF" ) no_namespace ......CreateInstance(__uuidof( Connection )); ......Com객체를 생성하지 못하는것이였다.."msado15.dll" 버전이 windows 7.. 더보기
error LNK2001: _IID_IWICImagingFactory 외부 기호를 확인할 수 없습니다. visual studio 2010 sp1을 으로 올리고 갑자기 이런 lib 링크 오류가 떴다... 저걸로 열심히 구글링 해봐도 #include #include 요것만 추가하라고 나오고.. windows sdk include했는지 확인하라고나 하고 .. 어찌어찌해서 알아낸 방법. #pragma comment(lib,"Windowscodecs.lib") lib부터 찾아봤어야 했는데... 더보기