본문 바로가기

Developement

(142)
sifr.exe - 특정 파일의 문자열 치환 프로그램 이 프로그램은 인터넷을 뒤지다 도저히 찾을 수 없어서 날조한 프로그램 입니다만 쓸만 합니다. 옵션은 위 이미지와 같으며, 좀 더 설명을 붙이자면 다음과 같습니다. -f [찾을 문자열] : 찾을 문자열을 따옴표로 묶어서 쓰면 띄어 쓰기도 다 처리 됩니다. 예) "A red moon rise up" -r [바꿀 문자열] : 바꿀 문자열 옵션이 지정만 되고 바꿀 문자열이 생랼 되면, 찾은 문자열을 지우는 역활을 합니다. 이 옵션이 무시되면 -f 옵션만 구동 되어 문자열 위치를 찾아 주는 표시만 해 줍니다. 단, 문자열을 찾기만 할때 -q 옵션이 있을 경우 아무것도 표시 되지 않습니다! -s : 하위 디렉토리 검색 (잘 되진 않습니다) -q : 아무것도 표시 하지 않음. (콘솔창에 아무런 글자도 표시 하지 않습..
WxWidget(v2.8.12) 와 CodeBlocks 연동 하기. 일단 이 글은 CodeBlocks 가 뭔지 알고, WxWidget 이 대충 뭔지는 아는 사람에게 유용한 글임을 먼저 밝히는 바 입니다. 사실 CodeBlocks 만 알고, WxWidget 을 모르는 경우가 더 맞는 말 이겠네요. 먼저, 프로젝트 생성시 WxWidget 이 기본으로 설정 안된 상태에서 다음과 같은 것이 뜹니다. Wx 의 환경변수를 맞춰 달라는 말 입니다. "멍-" 해 지죠. 이제 해야 할 것은 먼저 WxWidget 소스를 받아 오는 것 입니다. 2011년6월20일 기준, 마지막 릴리즈 버젼이 2.8.12 이니, 다음 위치에서 WxWidgets-2.8.12.zip 을 받습니다. (저는 WxX11 을 받았는데, 컴파일이 되더군요 .... 용량 차이가 조금 있던데 ..) 다음으로 해야 하는 것인..
MinGW 환경 C++ 에서 Thread 간편히 쓰기 위한 CustomThread 클래스! MinGW 으로 C++ 컴파일 해서 쓸시 , thread 처리를 위해 extern"C" 남발을 했던 기억이 있습니다. 아련한 기억인데 .. C++ 로 class 객체화를 하는데 있어 , thread 의 stdcall 함수 제작은 귀찮음의 걸림돌이 되었다고 생각 됩니다. 그래서 만들었던 것이 바로 이 CustomThread !!! 클래스 원형을 보면 다음과 같습니다. 그리고 실제 사용하는 입장에선 위의 클래스를 상속 받아, Setup 과 Execute(void*) 를 구현해 주면 되는 것 입니다. 예) 예제 소스는 CodeBlocks 로 만들어 졌습니다. 첨부 파일의 소스를 사용할 수 있으니 필요하신 분은 사용해 보시기 바랍니다. 본 소스는 공개로 만든 것 이므로 ,이 코드로 인해 발생하는 문제점은 제가 ..
DLL 에서 dllmain 이 호출 되지 않는다 !!! 언젠가 부터, 저는 DLL 을 minGW 에서 만듭니다. 하나의 소스로 Target 만 바꿔서 32bit, 64bit 모두 찍어 낼 수 있도록 환경을 만들어 쓰다 보니 이게 너무 편했던 것이죠. 그런데, 어느순간 제가 "정석" 을 따르고 있지 않음을 깨닫게 됩니다. 그 일이 이번에 DllMain() 함수가 불리지 않는다는 것. 이전에 C 코드를 짤떈 잘 쓰이던 것이 왜 이번에 이러지? 라는 의문이 든 것이 바로 이 결과 때문 입니다. 위 이미지만 봐서는 뭐가 문제인지 모를 것 입니다만 .. 아래 코드를 보겠습니다. 중요한 것은 바로 DllMain() 함수가 불리지 않는 다는것. 중복된 프로세스에서 사용되거나, 쓰레드에 사용될 경우 기본적인 처리를 해 줘야 할 DllMain() 이 호출 없이 사용된다는 점..
IABS, season 2 incoming ! IAmBongsu Server 의 season 2 가 옵니다. 기존의 HTTP/HTTPS 에서 벗어난 간략화되고 LZMA 압축 알고리즘 packet 을 통한 빠른 속도의 server 가 열립니다. 덤으로 IABB season 2 도 함께 다가 옵니다. 초소량, 최저 리소스 사용, 빠른 반응속도의 WIN32API 만으로 만들어진 Server/Client Solution! LZMA compressed packet communicating 의 최대 장점을 통한 최저 TCP holding time!
PWatcher 개발중 ... 현재 개발 중인 프로그램 입니다. 회사에서 필요로 해서 만들고는 있지만, 비상용으로 (Tool) 개발되는 것이라 제약없이 공개 할 수 있어 보입니다. 다만, dump 시 disassemble 을 할 수 있어야 하는 제약이 있긴 하지만, 해당 process dump, memory dump, 사용하는 registry(좀 노가다 필요함) dump 등의 기능을 지원하며, 상위 process 정보 표시 등을 지원 합니다. 단순히 dump 를 위해 태어난 프로그램이라 허접하기 서울역에 거지 없긴 하지만 .. 완료 되면 공개 할 수 있도록 하겠습니다. - 추가사항 - Windows7 64bit 지원 (단, 64bit process dump 는 불가)
5throck 님의 글로 느낀 개발자의 단상, 그리고 드리는 글. 오늘 트윗을 통해 전파된 블로그글을 타다 보게 된 5throck 님의 한 글에 반발하여 글을 하나 쓰게 되었었 습니다. 글이 쓰여진 것이 2007년인지는 확인을 못한 상태에서 현실과 너무 동떨어지는 개발자에 대한 현실에 비판을 안 할 수 가 없었던 입장 이었습니다. 그럼에 5throck 님께서 먼저 반론의 글을 쓰고 알려 줄 수 있지 않았느냐 - 라는 댓글에 심히 부끄러움을 느끼게 되었네요. 그리고 트랙백으로 걸린 글을 읽어 보았습니다. 일단 이 글로 5throck 님에게 어떠한 동의도 없이 반론의 글을 쓰게 된 것 을 이 자릴 빌어 죄송함을 표하고 싶습니다. 5throck 님의 글을 보면, 당연히 저보다는 연세가 있으시고, 제가 밟았던 언어와 비슷한 배경을 가지고 계시더군요. 이전에도 제 블로그에 간혹..
minGW x86-64bit, DLL 빌드시 libc++ 문제 해결. 현재, 일반적으로 사용할 수 있는 컴파일러 중 64bit Win32.PE 를 생성 할 수 있는 것은 minGW 말고는 없는 걸로 알고 있습니다. 상용 컴파일러 로는 뭐가 있는지 알수 없기 때문이기도 합니다만 -_-;; intel 같은데서 나오는 컴파일러는 64bit 를 지원 하겠죠. 하지만 범용적으로 쓰기엔 어려움이 있으므로, 저는 gcc 의 windows 판인 minGW 를 사용합니다. 릴리즈 버젼 4.5.5 를 현재 사용하고 있으며, OpenSource 로서 SourceForge 에서 개인 릴리즈 버젼으로 다운로드 받을 수 있습니다. 언제나 그렇듯 ... minGW 는 상용 컴파일러가 아니므로, 해당 컴파일러로 만들어진 바이너리가 오동작 해도 그에 대한 warranty 는 전혀 없습니다! 현재 64b..