Diagnostic directives
From cppreference.net
<
c
|
preprocessor
주어진 오류 메시지를 표시하고 프로그램을 비정형으로 만듭니다 , 또는 프로그램의 유효성에 영향을 주지 않고 주어진 경고 메시지를 표시합니다 (C23부터) .
목차 |
구문
#error
diagnostic-message
|
(1) | ||||||||
#warning
diagnostic-message
|
(2) | (C23 이후) | |||||||
설명
1)
#error
지시자를 만난 후, 구현체는
diagnostic-message
메시지를 표시하고 프로그램을 ill-formed 상태로 만듭니다(컴파일이 중단됩니다).
2)
(1)
과 동일하지만, 프로그램의 유효성에는 영향을 주지 않으며 컴파일이 계속 진행됩니다.
diagnostic-message 는 따옴표가 필요 없는 여러 단어로 구성될 수 있습니다.
참고 사항
C23로 표준화되기 전에,
#warning
은 많은 컴파일러에서 모든 모드에서 적합한 확장 기능으로 제공되었습니다.
예제
이 코드 실행
#if __STDC__ != 1 # error "Not a standard compliant compiler" #endif #if __STDC_VERSION__ >= 202311L # warning "Using #warning as a standard feature" #endif #include <stdio.h> int main (void) { printf("The compiler used conforms to the ISO C Standard !!"); }
가능한 출력:
The compiler used conforms to the ISO C Standard !!
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 6.10.5 오류 지시자 (p: TBD)
- C17 표준 (ISO/IEC 9899:2018):
-
- 6.10.5 Error 지시자 (p: 126-127)
- C11 표준 (ISO/IEC 9899:2011):
-
- 6.10.5 Error 지시자 (p: 174)
- C99 표준 (ISO/IEC 9899:1999):
-
- 6.10.5 Error 지시자 (p: 159)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 3.8.5 Error 지시자
참고 항목
|
C++ 문서
에 대한
진단 지시문
|