본문 바로가기

Developement

(142)
내가 이래서 비주얼 스튜디오를 싫어 한다. 나름 개발 환경 설정에는 이제 일가견이 생겼다고 생각해도 도저히 이놈의 개발환경을 이해 하지 못하겠는게 바로 마이크로소프트의 비주얼스튜디오 2005 이상 버젼들이다. 비주얼 스튜디오 6.0 때부터 그 거지같은 매크로들을 시작해서 이건 데체 C++ 이 객체지향인건지 아니면 매크로지향인건지도 모르겠었고, 2003, 2005 나 나와서 써 봐도 이건 데체 종속성 이라는 게 마이크로소프트의 알수 없는 DLL들이 꼭 필요 해서 뭔가 Installer package 를 이용해서 설치가 가능하도록 해야 하는 제약들 때문에 정말 어떻게 써 봐도 좋아 할 수 없는 게 바로 비주얼스튜디오 라는 점이다. 비주얼스튜디오6 떄엔 MFC6 관련 DLL 들이 귀찮게 만들더니 (그렇다고 static build 하면 hello wor..
GDI+ 로 돌리는 UI. 새로운 IABB 을 만들기 위해 만든 GDI+ 와 WIN32API 로만 돌아가는 UI 엔진이 얼추 완성에 가까워 지고 있습니다. 유니코드를 고정으로 지원하기에 (단일 1바이트 문자열은 엄청난 오류를 -_-;;) 한글이나 일어 등을 모두 지원할 수 있습니다. 어차피 GDI+ 에서 처리하는 거니 저는 넘기기만 하면 된느 거긴 합니다만.. windows7 에서 성공적으로 구동이 가능했고 꽤 빠른 속도를 보여 주네요. 나름 최적화를 한 상태이긴 합니다만 이제는 얼추 쓸만해 진 거 같습니다. IABB 이 기본적으로 Delphi32 를 이용해서 만들었던 점을 고려 한다면 .. UI 부분을 빼고 다시 새로 다 만들어야 하는 노가다가 필요합니다만, win32api 로 안되는게 어디 있겠어요~ 아래는 거진 완성된 UI ..
아버지를 위한 한글 HTML/PHP 에디터. 시작은 64bit 윈도우 프로그램들의 부재로 인해 제작을 하려는 것 이었습니다만... 아버지께서 매번 구버젼의 HTML (한글이 지원도 제대로 안되는) 코드를 사용하시면서 작업을 하시는 게 떠올라 문법 강조 기능이 있으면서 손쉽게 HTML 코드를 넣어 가며 웹페이지를 만들 수 있는 에디터를 만들기로 했습니다. 예전의 N사의 웹 에디터 같이 쓸 수 있도록 만들지는 못하겠지만 적어도 64bit 윈도우에서 잘 쓸 수 있는(그렇다고 32bit 가 안돈다는 건 아니지만요 ^^) 프로그램 제작을 시작하기로 했습니다. 얼마나 걸릴지 모르겠지만 ... 아버지께서 어렵지 않게 사용하실 수 있게 노력해서 100% 한글 에디터로 만들어 볼 생각 입니다. 그나저나 운동하실때 심심 하지 않으시라고 mp3p 를 드렸는데 .. 하..
LZSS , LZMA(T) 압축 비교. 기존에 사용하던 LZSS 알고리즘 대신 LZMA(T) 알고리즘을 사용해 보았습니다. 코드는 C 로 만들어 져 있는 상태에서 LZSS 와 동일하게 obj 를 생성하여 함께 빌드 하였습니다. 352KB 의 단순한 구조의 BMP 를 가지고 압축을 비교 해 본 결과 LZSS 와 LZMA(T)는 많은 차이가 발생하였습니다. LZMA(T) 가 7zip 에서 사용하는 구조인 것을 감안할때 기대했던 만큼 높은 압축율을 보여 주는 듯 합니다. LZSS : 352KB -> 142KB (40% 만큼 크기 감소) LZMA(T) : 352KB -> 100KB (28% 만큼 크기 감소) 속도에 있어서는 CPU 가 빠른 이유로 차이를 못 느낀다고는 하지만, 일단 압축율을 비교해 보았을 때 LZMA(T) 의 압축알고리즘은 현존 최고..
델파이 에서 C 코드 OBJ 로 함꼐 빌드 하기. 보통 윈도우용 프로그램을 만들때 delphi 보다는 C 로 만드는 것이 더 편리하거나 , C 로 잘 만들어진 라이브러리 등이 있는 경우 이를 delphi 에서 쓰려고 하면 별도로 DLL 을 만들어야 하는 불편함이 있긴 했습니다. 그러다가 BCC32 를 통해서 볼랜드용 COMF 포맷 OBJ 를 만들어서 delphi 내에서 LINK 하여 사용할 수 있다는 것을 이곳을 통해서 알게 되었습니다. 참조한 곳에서 설명은 command line 을 통해서 빌드하는 방법 이었지만, 이는 BCC32 환경을 구축해야 하는 어려움이 있기 때문에 다목적 컴파일러 IDE 인 CodeBlocks 를 통해서 obj 를 생성하여 delphi 에 link 해 보았습니다. 먼저 제가 사용한 방법은 debug 용 obj 를 통해서 del..
windows 7 용 API 를 가지고 어플리케이션을 만들어 보자 #02 이리 저리 소스를 뒤져 보다, 저에게 필요한 것은 바로 이것. dwmapi.h 라는 것을 알 게 되었습니다. DWM 이라는 것은 Windows VISTA 부터 지원하게 되는 윈도우 형태로서, 에어로 글래스 적용시에만 사용할 수 있는 것 입니다. 이 dwmapi 들은 dwmapi.dll 을 이용해서 구동하게 되며, 이는 windows vista 및 7 에서 모두 사용되는 것 입니다. 물론 이런 api 들을 사용하기 위해서는 비디오 카드가 WDDM 규격을 준수하고 있어서 에어로 테마가 사용되고 있어야 하는 전제 조건이 필요 하긴 합니다만 ... 일단은 DWM 을 이용한 윈도우 생성 및 테두리 제어 등을 완료 하였습니다. 이는 C는 물론 , C++ , Delphi 에서 모두 사용이 가능하도록 하였습니다. dw..
windows 7 용 API 를 가지고 어플리케이션을 만들어 보자 #01 우연히 시작된 foobar2000 의 window7 task bar control 을 보고 시작하게 된 의문점이 점점 살을 붙여 가면서 해결선을 찾아 가게 되는것 같습니다. J군의 링크를 따라가서 관련 코드 샘플을 받아 보니 , 제가 죽어라 싫어 하는 고급언어인 C# 이더군요 ... 이걸 데체 어따써 ... 라는 생각을 뒤로 하고 달린 댓글들을 보다 보니 - lucasplementel 이라는 ... ( 루카스 플리먼털 ? ㅋㅋㅋ ) 사용자의 댓글이 눈에 띄었습니다. Is this project related to the new "Windows API Code Pack" in http://code.msdn.microsoft.com/WindowsAPICodePack ? Are they both from Mi..
인텔 모블린 세미나, 2009년 10월 28일 오후 오전에 이어 오후에 이어진 모블린 세미나는 오전과 비슷하게 모블린을 탑제 하려는 제조사 들이 대부분 이었습니다. 대부분 자사 제품 설명 정도로 그치는 정도 이었기 때문에 특별히 뛰어난 정보나 미래를 알 수 있을 만한 방향성 같은건 없었는 듯 합니다 Award Modular 를 먹어서 세계 제일(?) 의 BIOS 업체가 된 Phoenix BIOS 사는 새로운 ACPI S3 기능을 사용한 고속 플랫폼 스위칭 기술을 통해 뭔가 하려고 하더군요. 이름은 HyperSpace , StarWars 에서 나오는 용어죠 ^^ VM 을 기반으로 한 플랫폼간 전환이 아닌 ACPI S3 mode 에 따른 하드웨어적인 스위칭으로 해당 시장을 노리는 듯 합니다. 한쪽 OS 가 suspend 된 이후 다른 OS 가 돌아 가는 부분..