国际访客建议访问 Primers 编程伙伴 国际版站点 > C 教程 > 错误和警告指令 以获得更好的体验。

# C 语言的预处理错误指令 #error 和警告指令 #warning

错误指令(#error)和警告指令(#warning)可以在编译时产生错误和警告。格式为:

#error "错误信息"
#warning "警告信息"
警告指令 #warning 是 C23 标准的新特性。

例如:

#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

本文 更新于: 2025-11-27 09:38:06 创建于: 2025-11-27 09:38:06