C/C++ 에는 #ifdef 를 사용하여 Debug 버전, Release 버전으로 컴파일 할 수 있는 방법이 있다. 모드를 다르게 해서 기능이 다르게 컴파일 할 수 있다. Delphi 에서도 $ifdef 가 같은 기능을 한다.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
#ifdef _DEBUG
cout<<"DEBUG\n";
#endif
#ifdef
NDEBUG
cout<<"RELEASE\n";
#endif
#ifdef PRO
cout<<"Professional\n";
#endif
#ifdef BASIC
cout<<"BASIC\n";
#endif
getch();
return 0;
}
using namespace std;
int main()
{
cout<<"DEBUG\n";
#endif
#ifdef
NDEBUG
cout<<"RELEASE\n";
#endif
#ifdef PRO
cout<<"Professional\n";
#endif
#ifdef BASIC
cout<<"BASIC\n";
#endif
getch();
return 0;
}
버전별로 다른 컴파일을 할려면 Configuration 을 다르게 지정해 주어야 한다.
Project Manager 를 보면 Debug와 Release 버전이 기본적으로 추가되어 있다. 여기에 Professional 버전을 추가할수도 있다. Basic 버전을 추가하려면 마우스 우클릭을 한다.
New Configuration 을 선택한다.
적당한 이름을 짓는다. Basic 으로 지어보자.
새로운 Configuration 이 추가되었다.
여기서 끝이 아니다. define 을 해주어야 한다. Edit 를 선택한다.
Conditional defines 에서 BASIC 으로 정의해보자.
이제 Project Manager 에서 필요한 버전을 마우스로 더블 클릭해서 선택한후 컴파일을 하면 된다. 더블 클릭하면 굵은 글씨(Bold) 로 표시된다.
Delphi 는 $ifdef, $endif 를 사용하면 된다.
program debug_test9;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
{$ifdef DEBUG}
writeln('Debug');
{$endif}
{$ifdef RELEASE}
writeln('Release');
{$endif}
readln;
end.
'기술탐구' 카테고리의 다른 글
[ArduBlock] DFRobot 아두이노 블락 킷 (Ardublock Kit) 사용기 (0) | 2016.03.14 |
---|---|
[ArduBlock] DFRobot 아두이노 블락 킷 (Ardublock Kit) 개봉기 (0) | 2016.03.03 |
[전자기학] 벡터의 표기방법에 대해 (2) | 2011.08.07 |
[전자기학] 변위 (Displacement) 에 대해서 (25) | 2011.05.26 |
[전자기학] 전속밀도(D)와 전계강도(E) (46) | 2010.08.17 |