>백엔드 개발 >C++ >C/C++ 전처리 지시문

C/C++ 전처리 지시문

王林
王林앞으로
2023-09-08 16:01:021193검색

C/C++ 预处理指令

C나 C++에서는 (#) 기호로 시작하는 다른 줄을 찾습니다. 이를 전처리 지시문이라고 합니다. 이러한 줄은 코드를 컴파일하기 전 전처리 단계에서 처리됩니다. 여기서는 세 가지 유형의 전처리 지시문을 살펴보겠습니다. 이것은 -

  • 조건부 컴파일
  • Line Control
  • Error Directive

때때로 우리는 프로그램에서 일부 매크로를 정의합니다. 조건부 컴파일 지시문을 사용합니다. 매크로가 정의되어 있는지 확인할 수 있습니다. 우리는 그들을 통제할 수도 있습니다. 따라서 매크로가 정의되면 특정 작업이 수행되고 그렇지 않으면 다른 유사한 작업이 수행됩니다.

조건부 컴파일 지시문은 #ifdef-#elif-#else-#endif와 유사합니다. 각 #ifdef 블록은 #endif로 끝나야 합니다. #elif 또는 #else는 선택 사항입니다.

예제

#include <iostream>
#define MY_MACRO 10
using namespace std;
int main() {
   #ifdef MACRO
   cout << "MACRO is defined" << endl;
   #elif MY_MACRO
   cout << "MY_MACRO is defined, value is: " << MY_MACRO;
   #endif
}

출력

MY_MACRO is defined, value is: 10

#line을 입력하여 라인 제어 지시문을 사용합니다. 때때로 우리는 선호하는 줄 번호와 관련하여 몇 가지 오류를 겪습니다. 이 명령을 사용하여 줄 번호를 업데이트할 수 있습니다. 이를 배치하고 현재 행을 200으로 변경하면 그 다음 행은 201에서 이동합니다.

Example

#include <iostream>
using namespace std;
int main() {
   cout<< "Current line is: " << __LINE__ << endl;
   #line 200
   cout << "Hello" << endl;
   cout << "World" << endl;
   cout<< "Current line is: " << __LINE__ << endl;
}

Output

Current line is: 5
Hello
World
Current line is: 202

error 지시문은 컴파일 전에 오류를 표시하는 데 사용됩니다. 매크로를 정의해야 한다고 가정하지만, 정의하지 않은 경우 오류 메시지가 표시될 수 있습니다. 이는 #error를 사용하여 달성할 수 있습니다.

#include <iostream>
using namespace std;
int main() {
   #ifdef MY_MACRO
   cout << "MY_MACRO is defined, value is: " << MY_MACRO;
   #else
   #error MY_MACRO should be defined
   #endif
}

출력

#error MY_MACRO should be defined

위 내용은 C/C++ 전처리 지시문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제