C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[17] 팁! 빌더인지 아닌지...
박지훈.임프 [cbuilder] 9272 읽음    1999-06-04 00:00
임프랍니다.
오늘의 팁은.. 프리디파인드 매크로..입니다.

비파툴에 올라온 질문중에, 현재 컴파일중인 컴파일러가 빌더인지를 판별하여
선택적으로 컴파일 할 방법이 있느냐는 질문이 올라왔었죠.. 생각이 안나서 답변을
못했는데.. 류충상님이란 분이 답변을 하셨더군요.. 윽~!
깜빡했습니다.. 빌더가 볼랜드씨의 업그레이드란걸... 쩝...
#if (__BORLANDC__ < 0x0530)
... (빌더3일 경우)
#else
... (빌더3가 아닐 경우)
#endif

빌더 3라면 첫번째 ... 부분이 컴파일됩니다.
빌더 1이라면 이 값은 0x0520이 됩니다. 사실 이 값은 컴파일러의 버전이죠.
빌더3가 볼랜드씨 5.3이고, 빌더1이 5.2이니까요.
이 __BORLANDC__는 사실 터보씨 1.0이던 시절부터 __TURBOC__ 형태로 있던겁니다.
__TURBOC__ 도 아직 사용가능하구요, 마찬가지로 터보씨++에서 사용하던
__TCPLUSPLUS__ 도 아직 사용가능합니다. 값은 모두 똑같이 빌더3에서 0x0530입니다.

(비슷하게 비주얼씨는 __MS_C__였던가, 하는 매크로가 있습니다. 역시 버전넘버가
들어있죠. 버전이 10.0 이상이면 윈도우용 비주얼씨였던거 같습니다.
도스시절에 터보씨와 엠에스씨에서 같이 컴파일가능한 그래픽 프로그램 소스를
작성하면서 써먹은겁니다.)

컴파일러 버전을 판별하는 이들 매크로 외에도 각종 유용한 매크로가 있습니다.
예를 들면 __DATE__는 컴파일중인 시간의 정보를 스트링으로 가지고 있습니다.
__TIME__은 물론 시간이구요, __FILE__은 파일네임, __LINE__은 현재 줄번호입니다.

자주 쓰이는 것은 아니지만.. 모르고 있다가 나중에 필요하면 황당해지는 팁이죠.

그럼, 도움되시길 바라면서, 이만...



독립문에서 임펠리테리였습니다.

+ -

관련 글 리스트
17 팁! 빌더인지 아닌지... 박지훈.임프 9272 1999/06/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.