프로그래밍 13

VC++ 2005에 Windows SDK 6.0 설치 후 ConvertBSTRToString에서 LNK2019 발생

Windows SDK도 깔지 않고 서비스 팩만 설치한 기본 VC++2005 개발 환경에서 프로토타입만 개발한다는 게...알파 버전까지 진행되었다. 뒤늦게 문제가 되어 VC++ 2005에 Windows SDK 6.0을 설치했는데... 빌드가 안된다 -_-; 링크 에러가 발생한다. -------------------------------------------------------------------------------------- 오류 3 error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPA_WPB..

Dev 2010.05.05 (2)

SVN Notifier의 간단한 소개

SVN Notifier 라는 좋은 유틸이 있었다는 걸 이제야 알았다. 체크아웃 받은 작업 폴더를 등록해두면 지정한 주기로 모니터링을 하다가 사용자에게 알려준다. 트레이 아이콘으로 실행되며 메신저처럼 동작한다. 아래 링크에서 다운받아 설치할 수 있다. http://svnnotifier.tigris.org/ 비공식 한글화 페이지도 존재하며 이곳에서 한글판을 받을 수 있다. http://kndol.springnote.com/pages/709156 참고로 닷넷 기반으로 개발되어 윈도우 용이다.

Dev 2008.03.24 (2)

[리눅스] 아주 작은 로그 서버

2003년도에 임시로 사용하려고 만들었던 리눅스용 로그 서버의 소스다. [임시를 생각보다 오래 썼던 거 같다..] 리눅스의 IPC 중 하나인 메시지 큐를 사용하여 다른 프로세스와 통신한다. 로그 서버를 실행할때 로그 파일을 생성할 위치를 파라메타로 넘겨야한다. [소스를 확인하기 바란다] 예) LogServer /LogData/TestLog_ 이렇게 실행하면 /LogData 디렉토리 아래에 날짜별로 파일이 생성될 것이다. TestLog_20071115.log로그 서버를 백그라인드로 실행시켜두고 지정된 메시지 큐에 로그 메시지를 넣어주면 로그 서버가 받아서 처리한다. 처리 내용은 메시지 큐의 내용을 가져다가 현재 날짜/시각을 덧붙여서 현재 날짜로 생성한 파일에 출력한다. 자세한 내용은 소스를 보면 알 수 있..

Toy Project 2007.11.15

[장난] 싫은 놈의 바탕화면 아이콘들을 엉망으로 섞어 놓자

역시나 포스팅할게 없을 때 홈페이지에서 하나씩 옮겨오는 자료 중 하나다. 아니다...좀 전에 포스팅하나 했다... 이거 옮겨 오면서 네비 업데이트하다고 사고 쳤다... 2007/10/31 - [prostars] - 아악~~~ ㅠ,ㅠ 내 PDA~~ 뭐..어쨌든..하던 거 계속 하자.. 이것은 2002년도 5월에 만들었던 작은 프로그램으로 주로 영업부 사람들에게 써먹었던 프로그램이다. 주로 그쪽 분들이 바탕화면에 아이콘을 많이 꺼내놓고 또한 배치도 나름 해놓더라. 바탕화면의 리스트뷰에 접근하는 방법은 볼랜드 포럼의 유영인.Chris 님의 답변을 참고 하였으며 C++ Builder 5.0 에서 컴파일 하였다. 전혀 수정 없이 그대로 가져왔으니 VC++에서 컴파일된다고는 장담 못하겠다.

Toy Project 2007.10.31

[유틸] HEX 값을 실수 값으로 변환

이것도 홈페이지에 올려 두었던 자료 중 하나로써 오래전에 개인적으로 필요해서 만들었던 유틸리티다. 왜 필요 했을까...-_-? 기억이...영 가물가물... 아래는 홈페이지에 올렸던 글의 전문이다. (오타 등을 약간 고쳤다) --------------------------------------------------------------------------------------------- 메모리 덤프나 기타 덤프 로그 볼 때 정수형 값들은 대강 헥사을 눈으로 봐도 10진수로 변환이 되지요. 실수 값은 그게 안 되잖아요...(저만 그런가요...--?) 예를 들어 윈도에서 8바이트 실수 100.5를 메모리 덤프로 보면 헥사값 0000000000205940 이지요... 이 유틸 실행하시고 205940 넣으시면..

Toy Project 2007.10.25

[클래스] WIn32 Console Output Class

디버깅 용으로 TRACE를 많이 사용할 것이다. 가끔 TRACE를 사용하기 곤란한 상황이나 다른 여러 상황으로 콘솔 출력이 필요할 때가 있다. 2002년도에 C++ Builder 용으로 만들어서 사용하던 작은 클래스를 VC++에서 컴파일되도록 수정했다. 단지 AnsiString을 사용했던 부분을 CString으로 교체했을 뿐이다. TRACE처럼 디버깅 모드에서 사용할 수 있으며 릴리즈 모드에서는 아무런 반응도 안 하는 더미가 된다. #ifndef ConsoleOut #define ConsoleOut class cConsoleOut { public : cConsoleOut( ) { #ifdef _DEBUG AllocConsole( ); hOut = GetStdHandle( STD_OUTPUT_HANDLE ..

Toy Project 2007.10.23

C++ 이야기 - [5] 캐스트 연산자 정리

글의 순서가 조금 이상한가? 각 캐스트 연산자를 소개하는 글이 먼저 올라가고 각 캐스트 연산자를 세부 설명하는 글이 뒤따라 하는 게 일반적인 순서일지도 모르겠다. 그다지 큰 계획을 세우고 쓰는 게 아니다 보니 순서가 조금 이상해도 이해해주기 바란다. 이미 C++ 캐스트 연산자에 대해서 좋은 글들이 많이 나와 있지만 사용하는 사람을 쉽게 볼 수는 없었기에 조금 더 쉽게 하나씩 접근하여 글을 적어보면 도움이 될까 싶어 글을 적어본 것인데 전달이 잘 되었나 모르겠다. 잠시 C 스타일의 캐스트 연산자를 보자. (타입) 표현식 [예제 1] const char* pConstCharPtr = "test"; int* pIntPtr1 = NULL; int* pIntPtr2 = NULL; int* pIntPtr3 = NU..

Dev 2007.10.22

C++ 이야기 - [4] 캐스트 연산자 reinterpret_cast

C++의 4가지 캐스트 연산자에 대한 이야기 중 네 번째다. 이번은 그중에서 reinterpret_cast 에 대해서 이야기한다. 자...이제 C++ 캐스트 연산자의 복병이 등장한다. 이전에 static_cast 이야기를 하면서 살짝 사기를 쳤다. C 스타일의 캐스팅과 가장 비슷한 기능을 하는 무적의 캐스팅은 그 이름도 복잡한 reinterpret_cast 다. 이 캐스트 연산자는 C 스타일의 캐스팅만큼은 아니지만 별반 차이 없이 무배뽀다. 캐스팅 대상을 캐스팅 타겟 타입으로 비트단위로 다시 재해석한다고 보면 된다. 다른 캐스트 연산자가 처리하지 못하고 남은 뒤치다꺼리를 모두 한다. 다만 const_cast 의 역할인 상수성을 날린다거나 하는 등의 기능은 수행하지 못한다. - reinterpret_cas..

Dev 2007.10.20

C++ 이야기 - [3] 캐스트 연산자 static_cast

C++의 4가지 캐스트 연산자에 대한 이야기 중 세 번째다. 이번은 그중에서 static_cast 에 대해서 이야기한다. static_cast 는 기본적으로 C 스타일의 캐스팅과 가장 비슷한 기능을 한다. 물론 C 스타일의 캐스팅처럼 만능은 아니다. 4가지의 캐스트 연산자로 분리된 만큼 const_cast의 역할인 상수성을 날린다거나 하는 등의 다른 캐스트 연산자의 고유 기능은 수행하지 못한다. 다른 캐스트 연산자와 같이 static_cast 도 static_cast 만의 용도가 있다. - static_cast 사용 static_cast 를 사용하기 전에 용도와 제약 사항을 확인하자. 실수형과 정수형, 정수형과 열거형등의 기본 데이터 타입 간의 변환상속관계의 클래스 계층 간의 변환런타임 타입 검사를 하지..

Dev 2007.10.14 (2)