gcc로 윈도우즈 API 프로그램 만들기

Computer/Linux Tips 2007. 3. 15. 13:27

Ref. : http://blog.naver.com/namong98?Redirect=Log&logNo=15611346

이 문서에 첨부한 TextOut.cpp라는 윈도우즈 API 소스 프로그램을 TextOut.exe라는 실행 파일로 빌드하기 위해서는 아래와 같이 명령을 내려주면 됩니다. Cygwin 루트 디렉토리 아래의 bin 디렉토리가 윈도우즈 PATH에 들어가 있다면 굳이 Cygwin 안에서 다음 명령을 내릴 필요는 없습니다.


gcc -mwindows -mno-cygwin TextOut.cpp -o TextOut.exe


여기서 옵션을 간단히 설명하면,


-mwindows : 윈도우즈 API를 사용한다는 뜻입니다.


-mno-cygwin : cygwin1.dll없이도 돌아가는 프로그램을 만든다는 뜻입니다.


만들어진 TextOut.exe를 실행하면, 아래와 같은 화면이 보이고, 화면안을 클릭하면 문자열이 나타났다 사라졌다 합니다.


strip 명령을 사용하면, 실행 파일 안의 심볼을 제거해서 실행 파일의 용량을 줄일 수 있습니다. 위에서 만든 TextOut.exe 파일의 용량을 줄이려고 한다면,

strip TextOut.exe


라고 하면 됩니다. TextOut.exe 파일은 그대로 두고 다른 TextOut1.exe 라는 파일로 strip하고 싶다면,


strip TextOut.exe -o TextOut1.exe


와 같이 하면 됩니다.


제가 이 문서에 첨부한 TextOut.cpp를 컴파일 하고, strip 시켜보니 파일 크기의 변화가 아래와 같았습니다.


strip 전,
TextOut.exe : 20841

strip 후,
TextOut1.exe : 6656


윈도우즈 API 프로그램을 빌드하기 위한 옵션이 많아 입력하기 귀찮다면 윈도우즈에서는 배치 파일을 만들고 Cygwin에서는 쉘 스크립트를 만들면 편하게 작업할 수 있을 것입니다.



~끝~


좋은 하루 되세요~ ^^

'Computer > Linux Tips' 카테고리의 다른 글

VLC Compile 과 gprof Result.  (2) 2007.03.22
원격에서 X-manager로 X-window 사용하기  (0) 2007.03.19
ftp mget 사용법  (0) 2007.03.07
Linux Network Emulator  (0) 2007.03.06
Linux 방화벽 설정하기 (IPtables)  (0) 2007.02.24