블로그 이미지
인생의무한루프
인생에 무한루프.....

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Tag

Recent Post

Archive

Recent Comment

Recent Trackback

2008. 11. 29. 00:51 Appication/프로그램 만들기

나만에 프로그램을 만들어보자.#3 ( NSIS 란 )

물론 아시는분들은 알겠지만 많은 분들이 프로그램은 만들어 놓고 설치파일은 어떻게 만드는지 고민을 하게 됩니다.
일전에 어떤 개발자분은 설치 파일도 vc로 개발을 하시는분을 봤습니다...
물론 나름대로의 익숙한 언어를 사용한다는건 많은 메리트를 가져오지만 전용툴을 사용하는 편리함과 개발시간이 줄어드는것 또한 많은 메리트가 있다고 생각됩니다..

일단 NSIS는 Winamp 제작사인 Null-Soft사에서 공개 프로그램을 위해 만든 OpenSource 입니다...지원해주는 기능도 강력하지만 NSIS의 꽃은 dll로 플러그인을 만들어 사용할수 있다는 것이라 생각됩니다.
물론 지금은 사용할 일이 있지는 않겠지만 차츰 배우다보면 정말 NSIS가 편리하고 강력한 툴이라고 생각하실 겁니다.

일단  NSIS 를 설치를 하세요...아래의 창이 뜰겁니다..


하지만 NSIS에서 지원하는 컴파일 기능으로는 좀 불편한게 있습니다...그래서 개발을 편리하게하는 툴을 하나 설치하는게 좋습니다..HM NIS Edit(NSIS 전용 에디터) 을 다운로드 받아서 설치하시면 됩니다..설치하는 과정에 에러가 나올수 있는데 그냥 무시무시 하세요...^_^
실행해 보시면 아래와 같은 창이 뜨실겁니다....이제부터 nsis는 이 에디트를 사용해서 컴파일 할것이니 nsis 파일 확장자인 .nsi 는 HM Edit로 연결을 해놓으시는게 편하실겁니다..^^



또한 위에 빨간색 박스에 들어있는 버튼들이 vc에 F7, F5 키와 동일한 기능을 하는 버튼들입니다...
앞으로 자주 사용하게 될겁니다..^^;;
일단 대략적인 셋팅은 이정도면 됬다고 생각이 되네요..

posted by 인생의무한루프
2008. 11. 28. 23:59 Appication/프로그램 만들기

나만에 프로그램을 만들어보자.#2 ( Platform SDK 란 )


이전의 글에서 Platform SDK와 NSIS가 필요하다고 했는데...
이것들이 먼지 생소한 사람들이 있을거 같아서 글을 좀 적어볼까합니다...프로그램을 만드시려는 분이 설마 VC가
생소하신분은  없겠죠??^^;;

일단 Platform SDK에 대해서 설명을 하겠습니다...
C나 C++을 사용하신분들은 당연히 하게 코딩 제일 위에 보시면 #include "stdio.h" 나 #include <iostream.h>
이런식으로 헤더파일을 참조하겠다고 적습니다..우리는 당연하게 적는 저게 무엇이었을까요?

우리가 간단한 C 프로그램을 짤때 함수를 사용하려면 항상 선언을 합니다..그런데 printf() 나 cin 같은 함수들은
그냥 쓰고 있죠?전 예전 처음 공부할때 저게 무척궁금했었는데....저런 함수들을 선언해 놓은 파일이 stdio.h나
iostream.h 인겁니다....말하자면 stdio.h등의 헤더파일에 누군가가 printf() 함수를 만들어 놔서 저희가 헤더파일을
선언함으로써 사용할수 있는거죠..^^

저런 기본적인 함수들은 기본적으로 VC가 깔릴때 함께 깔리니 특별히 다운받을 필요는 없지만 우리가 윈도우용
프로그램을 만들다보면 여러가지 기능이 필요한데 그 기능을 다 우리가 만들다보면 프로그램하나 만드는데
몇년이 걸릴수도 있죠....-_-;; 다행히 MS에서는 개발자들을 위해 윈도우용 어플리케이션을 만드는데 도움이
되는 여러가지 함수들의 집합을 만들어 놨고....그 함수에 집합이 Platform SDK입니다..
그렇게 보면 MFC도 SDK이겠죠....이부분은 차후에 하도록 하겠습니다...

이 SDK의 종류는 무척이나 많아서 DDKDevice Driver Kit 이라고해서 드라이버를 개발할때 사용하는 함수들을
모아놓은 킷입니다...DDK는 OS마다 나뉘고 지금은 WDK라고해서 비스타 드라이버까지 개발할수 있게 한군데에
모아 놨습니다..그리고 DirectShow SDK는 동영상관련 함수들의 집합이고요...Windows Media SDK를 이용하면
윈도우미디어를 컨트롤 할수 있습니다..이밖에 MS에서 지원하는게 아닌 개인개발자들이 만들어 놓은 여러가지
SDK들이 있으니 필요에따라 자료를 찾아 사용하시면 좀더 편리하게 그리고 짧은 시간에 프로그램을 개발할수
있습니다....^^

일단 SDK를 다운받으려면 MS에 방문해서 다운로드 받아야 됩니다...vc6.0을 지원하는 마지막 버전의 SDK는
Windows® Server 2003 SP1 Platform SDK 입니다...다운로드 받아서 설치하시면 됩니다..
하지만 설치만 한다고 바로 사용할수는 없습니다....
VC에 "나 이런 SDK 있으니깐 내가 개발할때 #include "" 이런식으로 참조하라고 하면 어느폴더로가서 찾아봐~~"
라고 말해줘야 VC에게 직접 말해줘야지 압니다...컴터는 바보니깐요...^^

일단 Tool -> Option 을 선택하신후 Option창이 나오면 Directories를 누르시면 아래와 같이 헤더파일과 라이브러리
경로를 설정할수 있습니다.



include files을 선택하신뒤 Directories 밑에 빈곳을 클릭하면 경로를 설정할수 있는 버튼이 생기고 헤더파일이 있는
곳에 경로를 설정해 주시면 됩니다...경로는 sdk마다 다르겠지만 헤더파일들은 대부분 폴더이름이 include 또는 inc등으로 되어 있습니다...저같은 경우는 C:\Program Files\Microsoft Platform SDK for Windows XP SP2\Include 이곳이 경로입니다....저건 링크를 걸어드린 SDK보다 버전이 낮은겁니다....이제보니 구버전 SDK를 사용하고 있었다는..OTL..
하지만 구지 최신 SDK만 고집할 필요는 없습니다..^^;;(왠지 핑계를 대는듯한..^^;;)


include만 넣어주면 안되죠....헤더파일에는 함수선언만 되어 있고 실제 코딩이 되어있는 파일이 있는곳은 Library 폴더에 있습니다.....차츰 알아나가겠지만 .h 파일과 .cpp 파일을 만들면 .h 파일에는 함수들의 선언만하고 실제는 코딩은 .cpp 파일에 하는것과 동일하다고 생각하시면 되겠네요..콤보박스에서 라이브러리 파일을 선택한뒤 include 폴더를 추가하듯이 추가해주시면 됩니다...폴더이름은 보통 Lib라고 되어 있습니다..
제 경로는 C:\Program Files\Microsoft Platform SDK for Windows XP SP2\Lib 이곳이네요...^^ 참고하세요..


이렇게 추가를 하면 이제 우리가 #include "XXX.h" 등을 추가하면 위에 SDK에 구현되어 있는 편리한 함수들을 사용할수 있습니다...
눈치 빠른분은 아시게지만 저는 DirectX9.0 버전 SDK와 WTL7.0 SDK가 설치되어 있네요...제일 밑에 VC98 경로의 두개의 경로는 vc6.0을 깔면 자동으로 추가되는 것입니다....
개발을 하시다보면 SDK끼리 충돌이 나거나 내가 예상하지 않게 움직일 때가 있는데...그럴때는 사용하고자 하는 SDK를 가장위로 올려놓으면 됩니다....VC는 설정되어 있는 경로중에 가장위에서 부터 선언되어있는 헤더파일을 찾아나가기때문에 동일한 이름을 가지는 헤더가 다른 SDK에 있다면 그 SDK를 참조하게 되므로 생각지도 않는 오동작이나 버그가 발생하게 되니...항상 개발할때 사용할 SDK를 가장위에 올려놓는 습관을 들여야 나중에 엄청난 삽질을 미연에 방지할수 있습니다...^^;;

이게 생각보다 만만치 않은 작업이네요....ㅡ_ㅡ;; 지금까지 글을 보기만 했지 적어보긴 처음인데...
정말 강좌같은것을 올리는 분들이 존경스러워 집니다...ㅠ_ㅠ
posted by 인생의무한루프
2008. 11. 28. 22:26 Appication/프로그램 만들기

나만에 프로그램을 만들어보자.#1 ( 배포버전 프로그램 만들어보기 )

일단 블러그를 만드는게 대세라니 만들기는 했는데..글재주가 특별히 뛰어난것도 아니고 멀하지??-_-;;
라는 생각이 들었습니다...
결국 배운게 도둑질이라고 나만에 프로그램을 만들어 보자는 주제로 글을 적어보려고 합니다...
앞서 말씀드리지만 저 또한 배우고 있는 초보개발자이므로 이글이 강좌와 같은 거창한것은 아니며
제가 말하는것들이 전부 완벽한것은 더구나 아니므로 혹시 틀린게 있으면 말씀해주시면 수정하겠습니다..
그리고 글을적는 편의상 앞으로는 반말을 사용하도록 하겠습니다...

내가 이글을 적는 이유는 프로그램을 공부함에 있어서 단순히 책을 읽으면서 콘솔로 테스트하는것보다는
윈도우 기반에서 도는 기본적인 프로그램을 만들어 보면 나름 재미를 느끼면서 공부를 할수 있기 때문이다..
기본적으로 C, C++등의 기본문법을 익힌 컴공및 기타 관련학과 대학생이 과제를 제출하기 위한 정도의 프로그램....
또는 자신만의 프로그램을 만들고 배포를 하고 싶은 사람들에게 도움이 되길 바란다...

기본적 준비물:
Visual C++ 6.0 (기본 디버깅툴)
Microsoft Office Access 2007 (디비로 사용)
Windows® Server 2003 SP1 Platform SDK (SDK)
NSIS (패키지프로그램)


이정도만 설치되면 기본적인 프로그램은 만들수 있다..
정말 간단?하지 않은가??이정도만 있으면 나도 멋진 프로그램을 만들수 있는것이다..^^
기본툴을 vc2008로 만들까하는 생각도 들었지만...vc2008은 vc6.0보다 무겁고 어차피 .net 기능을 안쓸거면
별로 다르지 않으니 이황이면 가벼운 vc6.0을 쓰는게 정신건강에 좋다..^^;;
Platform SDK를 클릭하면 MSDN으로 들어간다......하얀건 바탕이요 검은건 글자라고 쫄지마라...-_-;;
프로그램 만들다보면 저런화면 많이 보게 될거다...;;
일단 침착하게 아래로 내려 저곳을 클릭하자 그럼 다운로드 창이 뜬다..다운로드 시간은 그때그때 다르다..^^;;


그리고 NSIS는 우리가 흔히 보는 다음다음을 누르는 설치창을 만드는 프로그램이다....
MS에서 사용하는 InstallShield 가 있으나 유료이므로 패스..^^;;
NSIS는 Winamp 제작사인 Null-Soft사에서 공개 프로그램을 위해 만든 OpenSource로 스크립트언어이고
여러모로 편리하고 사용하기도 굉장히 간편하다.
그리고 무엇보다 좋은건 DLL로 플러그인을 만들어 사용할수 있다는것이다...NSIS에서 지원하지 않는건
플러그인으로 만들어 사용하면 되므로 확장성이 무척 좋다...^_^

앞으로 위에 것뿐만아니라 몇몇개를 더 설치해야 하지만 그것은 글을 올리면서 차후에 천천히 올리겠다..
posted by 인생의무한루프
prev 1 next