#C 语言的预处理错误指令 #error 和警告指令 #warning
错误指令(#error
)和警告指令(#warning
)可以在编译时产生错误和警告。格式为:
#error "错误信息"
#warning "警告信息"
例如:
#if defined(_WIN32)
#error "不支持 Windows 系统"
#elif defined(__unix__) && !defined(__linux__)
#warning "UNIX 系统的支持可能存在问题"
#endif
- 如果定义了
_WIN32
,则产生错误:不支持 Windows 系统 - 如果定义了
__unix__
而没有定义__linux__
,则产生警告:UNIX 系统的支持可能存在问题
#推荐阅读
#参考标准
- C23 standard (ISO/IEC 9899:2024):
- 6.10.5 Error directive (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 6.10.5 Error directive (p: 126-127)
- C11 standard (ISO/IEC 9899:2011):
- 6.10.5 Error directive (p: 174)
- C99 standard (ISO/IEC 9899:1999):
- 6.10.5 Error directive (p: 159)
- C89/C90 standard (ISO/IEC 9899:1990):
- 3.8.5 Error directive