Overloading & Overriding

[프로그래밍 팁/Generic]
열번을 봐도 열번을 까먹는 기초 중의 기초...
쪽팔리다.

< Overloading >
서로 다른 타입의 입력인자를 갖는 같은 이름의 함수를 정의하는 것...

< Overriding >
부모 클래스가 갖고있는 함수를 새로 정의하는 것...
2007/01/18 14:35 2007/01/18 14:35
TAG. ,

[C++] STLPort 5.1.0 설치 with VC++.NET 2003

[Manual/프로그래밍]
2005년 10월 : STLport 4.6.2 설치 (싸이월드)
2006년 03월 : STLport 4.6.2 설치 (다음 : C/C++ 연구회)
2006년 10월 : STLport 5.0.1 설치 (블로그)
2007년 01월 : STLport 5.1.0 설치 (블로그)


< about >


작년 12월 6일 STLport Ver. 5.1.0 이 Release 되면서
설치방법이 조금 변경 되었다.
새로운 설치방법을 포스팅한다고 글을 적은게 1달 전이었는데
이제서야 실행하게 되었다.
설마 이 글을 기다린 사람은 없겠지만,
만약 있다면 죄송스럽게 생각하면서 글을 시작하려고 한다.

또한, 이 글을 읽는 모든 분들께 다시 한 번 당부한다.
퍼가는 것은 자유지만 출처는 분명히 해줬으면 좋겠다.


< intro >

먼 옛날 STL은 한낱 문서상의 표준이었고,
내가 C++에 입문하던 때만 해도 STL은 아는 사람들 끼리의 물건이었다.
그러나 지금은 STL을 모르고 C++을 한다고 말할 수 없게 되었다.
그리고 STLport는 현존하는 STL 라이브리 중 가장 사랑받는 놈이다.

물론 VC++에도 내장 STL이 존재한다.
그래나 현재는 인식이 많이 바뀌었다 해도 많은 사람들이 내장 STL의 사용을 만류하고 있다.
그리고 본인도 그 생각에 동감하는 바이다.
개인적인 이유는 다음과 같다.
MSVC 내장 STL은 딩컴웨어에서 판매하는 상용 라이브러리인데,
VC 구매시에는 이미 이 라이브러리의 버전은 구버전이 되어버린다.
그리고 그에 대한 업그레이드에는 추가 비용이 들게 된다.
그에 비하면 STLport는 무료로 지속적인 업데이트를 해 나가고 있다.

현재 배포되는 STL 라이브러리들에 대한 이야기를 보려면
'Effective STL'의 50장과 부록B를 보기 바란다.


< download >

STLport는 http://sourceforge.net/projects/stlport 에서 받는다.
www.STLPort.org 라는 공식 홈페이지가 있으나
현재 업데이트가 중지된 상태이며
최신 버전은 sourceforge 에서 관리된다.
이 글이 작성되는 시점에서 배포되는 최신 버전은 5.1.0 Release 이다.


< uncompress >

STLport-5.1.0.zip 파일을 받아 압축을 풀자.
본인은 라이브러리들의 관리를 편하게 하기 위하여
VC 관련 라이브러리는 모두 F:\MSVC\Library\ 경로에 모아 놓는다.

압축이 해제되면 STLport-5.1.0 폴더가 생성된다.



< before compile >

컴파일에 앞서 옵션을 설정해 주어야 한다.
옵션 파일의 위치와 이름이 \STLport-5.0.1\stlport\stl_user_config.h 에서
\STLport-5.1.0\stlport\stl\config\user_config.h 로 바뀌었다.
해당 파일을 열어 보자.

먼저 Platform SDK를 사용한다면, 다음의 주석을 제거한다.

#define _STLP_NEW_PLATFORM_SDK 1

또한 다음의 선언문의 주석도 해제하자.

#define _STLP_VERBOSE_AUTO_LINK 1

이 선언은 컴파일 결과 자체에는 영향이 없지만
컴파일 중 현재 링크되고 있는 라이브러리를 빌드 창에 표시 하겠음을 나타낸다.
따라서 프로그램이 STLPort 라이브러리를 연결하고 있는지
컴파일 중 확인할 수 있다.


< compile >

컴파일을 위해서는 반드시 콘솔에서 작업해야 한다.
그러므로 아래의 설명은
전부 콘솔에서 이루어 진다는 것을 명심하자.

먼저 콘솔 창을 연다.
모르겠으면 'Windows Key' + R 하면 나타나는 창에 cmd 라고 적는다.

만약 VC++.NET 2003을 깔았다면
아래와 같은 패스가 있을 것이다.

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin

위 폴더에 vcvars32.bat 파일이 있다.
이 파일을 콘솔에서 실행시킨다.
그러면 환경이 준비 됐다는 의미 비슷한 말이 나온다.
(영어라 장담 못하겠다. -_-a)

이제 커맨드 창에서 F:\MSVC\Library\STLport-5.1.0\build\lib 폴더로 들어간다.
다음과 같이 입력한다.

configure -c msvc71



이제 STLport는 VC++ .NET 2003 컴파일러를 사용하게 된다.
마지막으로 인스톨 명령을 친다.
이제 컴파일 끝날 때까지 기다리도록 하자.

nmake /fmsvc.mak install


<주의>
현재 STLport 의 README 문서들이 상태가 좀 메롱 하다.
분명 STLport 5.1.0 RC3 에서 배포된 README 문서는
변경된 컴파일 방법에 대해 친절하고 정확하게 설명되어 있었는데,
이번 Release의 README 문서는 이전 버전을 그대로 복사한 것 같다.
아마 전에 RC3를 컴파일 해본 경험이 없었다면 상당히 삽질을 했을 것이다.

컴파일 방법은 \STLport-5.1.0\doc\README.msvc 를 참고하고
컴파일 옵션은 \STLport-5.1.0\build\lib\configure.bat 를 참고하기 바란다.

컴파일이 완료되면 아래와 같이 새로운 두 개의 폴더가 생긴다.
이 중 \STLport-5.1.0\bin\ 폴더에 생긴 세 개의 *.dll 파일을 system32 폴더에 복사한다.



< after compile >

컴파일이 다 끝나면,
VC++.NET 2003에서 경로 지정을 해줘야 한다.
VC++.NET 2003을 열고 도구에 가서 옵션을 선택하면 창이 열린다.
그럼 좌측 목록에 Projects 를 선택하고
하위의 VC++ 폴더를 선택한다.
우측 창의 우측 상단 콤보박스에서 포함 파일을 선택한 후
리스트에 D:\Library\STLport-5.0.1\stlport 를 추가로 적어
리스트 맨 위에 놓는다.




< finale >

이제 마음놓고 사용하시라~!!
(@,.@)>

2007/01/06 17:14 2007/01/06 17:14

[C++] Essential C++ (★★★☆☆)

[추천도서/프로그래밍]
제목 :  Essential C++
원서 : Essential C++ (Addison Wesley)
출판사 : 인포북
저자 : 스탠리 B. 립먼
번역 : 최세영
감수 : 곽용재

이 책은 Accelerated C++ 에 이은 시리즈의 두 번째 책이다.
이 책은 Accelerated C++과 같은 독자층을 타겟으로 한다.
즉, 입문자 용이라는 말이다.
그러나 접근이 전혀 틀리다.

이 책은 C++이 소유한 다섯가지 프로그래밍 방식에 대해 이야기 한다.
(물론 그 이외의 이야기도 다루기는 한다.)
1. 절차적 프로그래밍 (C로부터 와서 발전 된 것들)
2. 제너릭 프로그래밍 (STL)
3. 객체 기반 프로그래밍 (class)
4. 객체 지향 프로그래밍 (OOP)
5. 템플릿 프로그래밍 (일반적으로 변태 프로그래밍)
이는 C++이 프로그래밍 언어의 제왕으로 군림할 수 있게 하는 요소들이면서
C++ 안에서 유기적으로 결합되어 강력함을 만들어 내는 요소들이다.

그러나 사실 난 이 책을 다 읽지 않았다.
좀 더 솔직해지자면 반도 읽지 않았다.
그 이유는 'The C++ Programming Language'와 동시에
이책을 보아야 할 이유를 알 수 없었기 때문이다.
'The C++ Programming Language'를 읽기 어려워 하거나 부담스러워 한다면,
대신 이 책을 선택하는 것은 매우 훌륭한 선택이 될 수 있다.

하지만, 내 기준으로는...
후일 시간을 내어 다시 기초를 돌아보는 때에 펼쳐볼 수는 있겠지만,
그리고 그 때 다시 다른 평가를 내릴지도 모르지만,
지금은 이렇게 평가 하기로 하겠다.
2006/12/18 22:48 2006/12/18 22:48

[C++] Accelerated C++ (★★★★★)

[추천도서/프로그래밍]

제목 :  Accelerated C++
원서 : Accelerated C++ (Addison Wesley)
출판사 : 인포북
저자 : 앤드류 쾨니그, 바바라 E.무 공저
번역 : 최지호
감수 : 곽용재

이 책은 C++ In Depth 시리즈의 첫번째 책이다.
C++ In Depth 시리즈는 앞쪽 순서라 해서 초보자용이고
뒤로 갈수록 난이도가 높아진다거나 하는 룰은 따르지 않는다.
그래도 시리즈의 첫번째 이니 만큼 초보자를 위한 책을 내놓지 않았나 추측한다.

이 책을 읽은 것은 2005년 7월 쯤이었다고 기억한다.
그 해 6월 C++ In Depth 시리즈 최초의 다섯권을 세트로 묶은 상품이 나왔었고,
역시나 책 욕심에 몽땅 사버렸다.
뭐, 어쨌든 이 책은 초보자 용이라 일단 미루어 놓았었는데
당시 갑작스런 수술로 인해 입원을 하게 되었고,
쉬는 동안 기본을 다시 닦을 겸 이 책을 들었다.
그리고 감동했다.

그 후 나는 나와 함께 진행했던 스터디에서 교재로 사용했었다.
물론, 그들이 이 책에서 내가 느낀 감동을 느꼈는지는 의문이다.
하지만, 이책은 하나의 프로그램을 완성하기 위해
C++의 가장 기본이 되는 진수들을 끌어 모은다.
그리고 지속적으로 리팩토링을 적용한다.

어쩌면 이 책은 한국인의 입맛은 아닐지도 모른다.
그리고 내 입맛이 한국적이지 아닐지도 모른다.
그러나 당신이 C++의 문법은 대충 깨우쳤다면,
본격적인 C++의 세계에 들어가기 전에 이 책을 먼저 경험해 주기를 바란다.

이 책은 본래의 컨셉이 대학교재였다.
그만큼 내용이 충실하고,
시간에 크게 부담을 느끼지 않아도 된다.
천천히 읽고 따라하고 저자가 하고자 하는 이야기를 음미하기만 하라.
이 책과 함께 프로그램을 만들었을 때,
C++을 어떻게 접근해야 하는지 정도는 똑똑히 볼 수 있게 될 것이다.

2006/12/18 22:29 2006/12/18 22:29

[C++] Effective C++ 3/E (★★★★★)

[추천도서/프로그래밍]
제목 :  Effective C++ 3/E
출판사 : Addison Wesley
저자 : Scott Meyer

C++을 공부하는 사람이라면 누구나 읽어야 하는 책.
일반적인 책들과 달리 Edition 숫자가 증가할 수록 변신하는 책이다.
오탈자 좀 수정하고 챕터 몇 개 바꿔치는 수준이 아니다.

책 내용은 변화되는 트렌드에 맞춰 예제 코드 내용과 스타일까지 완전히 변화하며,
최신 경향에 맞춰 항목이 생기거나 삭제된다.
변화가 상당히 심하기 때문에 세 에디션을 모두 읽으라고 권하고 싶지만,
처음에 말한 것을 뒤집으면 이전 판들은 지금 보기에는 약간 낡은 내용이라는 뜻이 되므로
사실 구태여 세 가지를 모두 볼 필요는 없다.

물론 현재 이 책의 번역본도 나와 있기는 하다.
하지만, 책을 여러번 번역해 봤다는 자신감 때문일까?
의역이 도를 지나쳐 너무나 가볍게 썰을 풀어가는 것이
개인적으로 취향에 맞지 않다.
나름 고수의 지도를 받기 위해 읽는데
'들이대 보자'와 같은 과장된 표현은 조금 아니지 싶다.

사실 번역본이 종이질이나 가격이 좀 더 매리트가 있기는 하므로
본인과 같이 까다로운 취향이 아니거나
가격 및 책의 질에 대해 매리트를 느낀다면 번역본도 좋을 것 같다.
2006/11/14 23:59 2006/11/14 23:59

[C++] boost 1.33.1 설치 with VC++.NET 2003

[Manual/프로그래밍]

< about >

이 문서 역시 STL 문서와 같은 역사를 갖고 있다.
단, Naver 등을 참고한 이전 버전에서 오류가 있었기 때문에
이번에 다시 검토하여 boost의 문서를 토대로 상당히 수정을 가했다.

다시 말하지만, 퍼가는 것은 자유로우나 출처는 분명히 해주길 바란다.


< intro >

boost Library는 오픈소스로 진행되는 C++ 라이브러리 그룹으로
이에 대해 'Effective STL'의 50장에서 간단히 소개하고 있다.

간단히 말해 boost 는 다음 STL표준 채택을 위해 준비된
C++ 라이브러리의 확장판이다.
boost 가 갖는 라이브러리는 상상 이상으로 엄청나다.
(사실 겪어봐야지 말로는 표현이 안된다. ^^)
이미 이 중 일부는 다음  STL 표준으로 내정된 것들도 있다.
다음 표준안이 발표되면 'boost::' namespace 가 아닌
'std::' namespace 로 쓰게 된다는 의미다.

이미 STL 서적은 넘쳐나지만,
boost 관련 서적이 보이지 않는 것으로 봐서
아직 국내에 boost 가 보편화 되기까지 시간이 좀 걸리지 않을까 한다.
뭐, boost 자체를 책 한권으로 묶는 것도 불가능 하다고 생각하지만 말이다.
boost의 Graph 라이브러리에 관한 번역서를 한권 보기는 한 것 같은데...

음 잡설이 너무 길었다.
이만 설치로 넘어가자.


< download >

boost Library의 공식 홈페이지는 www.boost.org 이다.
다운로드는 http://sourceforge.net/project/showfiles.php?group_id=7586 에서 받는다.
현재 정식 버젼은 1.33.1 이며,
다운 받을 파일은 boost_1_33_1.exe 와 boost-jam-3.1.12-1-ntx86.zip 두 가지이다.


< uncompress >

boost_1_33_1.exe 실행시키면 압축 해제할 경로를 묻는다.
본인은 D:\Library 에 압축을 푸는데, 그러면 D:\Library\boost_1_33_1 이 생긴다.

이제 boost-jam-3.1.12-1-ntx86.zip 의 압축을 풀면
bjam.exe 라는 실행 파일이 생긴다.
이 파일을 D:\Library\boost_1_33_1 에 복사한다.


< before compile >

boost 는 라이브러리의 집합이므로
STLPort 에서 iostream 사용을 위해 컴파일 했던 것처럼
컴파일을 필요로 하는 라이브러리에 대해 컴파일 해주어야 한다.
단, STLPort와 같은 일괄 적용이 아니라
개별 라이브러리 마다 필요로 하는 옵션이 다르므로
해당 라이브러리의 문서의 Installation 항목을 잘 읽고
그에 맞추어 컴파일 해주어야 한다.


< compile >

이 부분은 Compile 이 필요한 사람만 하면 된다.
컴파일이 필요 없는 라이브러리를 사용하는 사람은 다음으로 넘어가도 된다.

업무상 프로젝트에 적용한 컴파일 필요 라이브러리는
iostreams, regex, thread 정도이다.
여기에서 regex 는 Adobe 사의 제품에서도 DLL 형태로 쉽게 찾아볼 수 있다.
컴파일 방법은 거의 같으며 약간의 옵션 차이만 있으니
세 가지를 따로 컴파일 한다고 해서 긴장할 필요는 없다.

boost 역시 콘솔창에서 컴파일을 진행하도록 하게 되어있다.
만약 STLport를 설치할 때 사용한 콘솔창을 닫지 않았다면 그 창에서 그대로 진행하도록 하고,
콘솔창을 새로 열었다면 vcvars32.bat 를 다시 실행하도록 한다.

< 주의 >
컴파일은 D:\Library\boost_1_33_1\libs 에 있는 각각의 라이브러리 폴덩 하위의
build 폴더에서 실행해야 한다.
그 폴더에 bjam.exe 와 batch 파일을 함께 두고 실행한다.

먼저 regex 와 thread 는 특별한 옵션이 필요 없어 명령행 인자가 같다.
콘솔에서 직접 명령을 적어 주어도 좋지만,
편의성과 유지보수를 위해 개인적으로는 '*.bat' 파일로 컴파일 옵션을 저장해 놓기를 권장한다.
batch 파일의 내부는 다음과 같다.
콘솔에서 각 줄을 순서대로 쳐도 같은 효과가 있다.

set TOOLS=vc-7_1-stlport
set STLPORT_PATH="D:\Library\STLPort"
set STLPORT_VERSION=5.0.1
bjam.exe "-sBUILD=debug release <runtime-link>static/dynamic <threading>single/multi" -a

위 옵션은 STLPort-5.0.1 을 연결하여 컴파일 하는 것이며,
앞서 쓴 'STLPort-5.0.1 설치' 문서의 결과물에 맞추어져 있다.
경로 등이 다른 사람은 문서를 보고 조정해 주기 바란다.

다음은 iostreams 컴파일용 batch 파일이다.

set TOOLS=vc-7_1-stlport
set STLPORT_PATH="D:\Library\STLPort"
set STLPORT_VERSION=5.0.1
set ZLIB_SOURCE="D:\Library\zlib-1.2.3"
set BZIP2_SOURCE="D:\Library\bzip2-1.0.3"
bjam.exe "-sBUILD=debug release <runtime-link>static/dynamic <threading>single/multi" -a

문서를 보면 알겠지만, iostreams 는 공개 압축 라이브러리인 zlib 와 bzip2 를 포함할 수 있다.
iostreams 는 이 두 라이브러리를 이용해 압축 스트림 필터를 생성한다.
iostreams 와 iostreams 필터의 사용법은 boost 문서에 친절하게 나와있다.

< zlib 와 bzip2 준비 >

두 라이브러리는 각각 http://www.zlib.net/http://www.bzip.org/ 에서 받을 수 있으며,
오늘 기준 최신 버전은 zlib-1.2.3 이고 bzip2-1.0.3 이다.
zlib 같은 경우에는 소스로도 사용 가능하고 컴파일 하여 라이브러리로 사용하는 것도 가능하다.
이번 설정에서는 소스만을 사용하므로 압축을 풀고 위의 batch 파일에 적힌대로 경로만 맞추면 된다.

컴파일 결과물은 일단 D:\Library\boost_1_33_1\bin\boost\libs 경로에 만들어지며,
D:\Library\boost_1_33_1\stage\lib 로 복사가 되는데,
일부는 자동으로 복사가 이루어지지 않으므로
첫번째 위치에서 직접 두번째 위치로 결과 파일들을 복사해 주어야 한다.

< 일괄 컴파일 >
E:\Library\boost_1_33_1 에서 위와 같은 요령으로 batch 파일을 만들어 실행 시키면
컴파일이 필요한 모든 라이브러리를 컴파일 할 수 있다.
단, boost 의 모든 라이브러리의 컴파일 옵션을 찾아 설정해 주어야 한다는 것과
컴파일 시간이 어마어마하게 길다는 단점이 있다.

< after compile >

컴파일이 다 끝나면, VC++.NET 2003에서 경로 지정을 해줘야 한다.
방법은 STLPort 와 동일하다.

포함 파일에는 D:\Library\boost_1_33_1 를 추가해주며,
라이브러리 파일에는 E:\Library\VC\boost_1_33_1\libs 를 추가하도록 한다.
단, 일부 라이브러리를 컴파일 했다면,
라이브러리 파일에 D:\Library\VC\boost_1_33_1\stage\lib 도 추가로 등록한다.
우선순위는 STLPort 바로 아래 놓도록 한다.
그리고 D:\Library\VC\boost_1_33_1\stage\lib 에 생성된 '*.dll' 파일들을
'C:\windows\system32' 폴더에 복사한다.


< finale >

이제부터는boost를 사용하면 된다.
사용법은 boost 문서를 참고하기 바란다.

2006/10/13 22:40 2006/10/13 22:40
TAG. , , ,

[C++] STLPort 5.0.1 설치 with VC++.NET 2003

[Manual/프로그래밍]

< about >

이 문서는 2004년 본인의 작업용 문서로 시작되었다.
첫 게시물은 2005년 10월  STLPort 4.6.2를 기준으로 싸이월드에 게시 했으며,
2006년 3월 다음의 스터디 카페(지금은 버려져 있다. ㅠ.,ㅠ)에 게시한 것을
버전업 하여 이곳에 옮기는 것이다.
퍼가는 것은 자유지만 출처는 분명히 해줬으면 좋겠다.


< intro >

STLPort는 현존하는 STL 라이브리 중 가장 사랑받는 놈이다.
내가 C++을 본격적으로 입문하던 때만 해도
STL은 아는 사람들 끼리의 물건이었다.
STL의 존재를 알게 된 것도 지금 다니는 곳의 면접을 준비 하면서 였고,
STL을  공부할 당시만 해도 한국어로 된 레퍼런스 서적은 단 두 권 뿐이었다.
하나는 'C++ Standard Library 튜터리얼.레퍼런스 (원서 : C++ Standard Library)'이고,
다른 하나는 'STL 튜터리얼.레퍼런스 가이드 (원서 : STL Tutorial and Reference Guide)'이다.
나는 당시 전자를 선택했고, 몇 달 전 불가피하게 후자를 구입하게 되었으나
개인적으로 'C++ Standard Library 튜터리얼.레퍼런스'를 추천한다.

VC++ 상에서 많은 사람들이 MSVC 내장 STL의 사용을 만류하고 있으며,
본인도 가능하면 STLPort로 대체를 권한다.
여러가지 이유가 있지만,
MSVC 내장 STL은 딩컴웨어에서 판매하는 라이브러리인데
이는 제품 판매 초기에 내장되므로 사용하다보면 너무 뒤쳐진 버전이 된다는 말이며,
라이브러리를 업그레이드를 위해서는 추가 비용을 지불해야 한다는 것이 문제이다.
실제로 아직도 MSVC 6.0 이 상상 이상으로 많이 사용되는데,
MSVC 6.0 내장 STL은 형편없는 버그 덩어리로 간주되기도 한다.

현재 배포되는 STL 라이브러리들에 대한 이야기를 보려면
'Effective STL'의 50장과 부록B를 보기 바란다.


< download >

STLport는 http://sourceforge.net/projects/stlport 에서 받는다.
www.STLPort.org 라는 공식 홈페이지가 있으나
현재 업데이트가 중지된 상태이며
최신 버전은 sourceforge 에서 관리되는 듯 하다.
이 글이 작성되는 시점에서 정식 버전은 5.0.2 이며,
버전 5.1.0 이 RC2까지 진행된 상태이다.
개인적으로 5.0.2 RC2 를 설치한 적이 있으나,
뭔가 이상하여 현재 5.0.1 을 사용하면서 5.1.0 을 기다리는 중이다.


< uncompress >

STLport-5.0.1.tar.gz 파일을 받아 압축을 풀자
본인은 추가 라이브러리들의 관리를 편하게 하기 위하여
D:\Library\ 경로에 모든 라이브러리들을 모아 놓는다.
이는 개발 플랫폼이 변동이 없는 한
재 컴파일 없이 저장된 라이브러리를 컴파일러에 등록하기만 하면 된다는 장점이 있다.

압축이 해제되면 STLPort 폴더가 생성된다.
후에 Boost 라이브러리의 설치를 위해서는
이 폴더의 이름을 STLPort-5.0.1로 변경하는 것이 좋다.



< before compile >

STLport의 iostream을 사용하고자 한다면,
반드시 컴파일을 해주어야 한다.
그렇지 않다면 컴파일 과정은 생략해도 된다.

먼저 Platform SDK를 사용한다면,
설정해 주어야 할 옵션이 있다.
압축을 해제한 D:\Library\STLport-5.0.1\stlport\ 폴더에 보면,
stl_user_config.h 라는 파일이 있다.
이 파일을 열어보면,

#define _STLP_NEW_PLATFORM_SDK 1

에 주석처리가 된 것을 볼 수 있다.
이 주석처리를 해제하여 활성화 시킨다.

또한 다음의 선언문의 주석도 해제하자.

#define _STLP_VERBOSE_AUTO_LINK 1

이 선언은 컴파일 결과 자체에는 영향이 없지만
컴파일 중 현재 링크되고 있는 라이브러리를 명령 창에 표시 하겠음을 나타낸다.
따라서 프로그램이 STLPort 라이브러리를 연결하고 있는지
컴파일 중 확인할 수 있다.


< compile >

컴파일을 위해서는 반드시 콘솔에서 작업해야 한다.
그러므로 아래의 설명은
전부 콘솔에서 이루어 진다는 것을 명심하자.

먼저 콘솔 창을 연다.
모르겠으면 'Windows Key' + R 하면 나타나는 창에 cmd 라고 적는다.

만약 VC++.NET 2003을 깔았다면
아래와 같은 패스가 있을 것이다.

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin

위 폴더에 vcvars32.bat 파일이 있다.
이 파일을 콘솔에서 실행시킨다.
그러면 환경이 준비 됐다는 의미 비슷한 말이 나온다.
(영어라 장담 못하겠다. -_-a)


이제 STLport의 압축을 해제한 폴더로 돌아간다.
본인은 D:\Library\STLport-5.0.1 이다.

이제 D:\Library\STLport-5.0.1\build\lib 로 이동하자.
여기에 보면 확장자가 *.mak 인 확장자가 무수히 많은데,
이 파일들이 가리키는 컴파일러를
STLport가 몽땅 지원한다는 얘기가 되겠다.
잠시 놀라움에 한 번 감탄해주고 넘어가자.

본인은 VC++.NET 2003을 쓰므로
버전으로는 VC++ 7.1에 해당한다.
그러므로 nmake-vc71.mak 파일을 사용하겠다.

nmake -f nmake-vc71.mak install


위 명령을 치자.
컴파일 끝날 때까지 기다리도록 하자.



< after compile >

컴파일이 다 끝나면,
VC++.NET 2003에서 경로 지정을 해줘야 한다.
VC++.NET 2003을 열고 도구에 가서 옵션을 선택하면 창이 열린다.
그럼 좌측 목록에 Projects 를 선택하고
하위의 VC++ 폴더를 선택한다.
우측 창의 우측 상단 콤보박스에서 포함 파일을 선택한 후
리스트에 D:\Library\STLport-5.0.1\stlport 를 추가로 적어
리스트 맨 위에 놓는다.




< finale >

이제 마음놓고 사용하시라~!!
(@,.@)>
2006/10/13 20:45 2006/10/13 20:45

[C++] C++ 프로그래밍의 이해 (★☆☆☆☆)

[추천도서/프로그래밍]

제목 : C++ 프로그래밍의 이해
원서 : Practical C++ Programming (O'Reilly)
출판사 : 한빛미디어
저자 : 스티브 오울린
번역 : 송호중

'C 프로그래밍의 이해'에 대한 만족감 때문에 선택한 책.
절대 비추.

아무래도 저자가 책을 날로 먹을려고 한 것 같다.
'C 프로그래밍의 이해'에서 진전이 하나도 없다.

C++은 C에서 기원하며 C의 모든 것을 받아 들였지만,
C와는 전혀 다르게 접근해야 하는 언어이다.
그러한 특성이 완전히 무시된 채 'C 프로그래밍의 이해'를 약간 개작한 수준이다.

절대 보지 말기를...

2006/10/12 00:21 2006/10/12 00:21