我从#猜测它只是一个编译时实用程序。 如何在C / C ++程序中使用它?
在互联网上找不到太多。 任何链接都会有所帮助。
它会导致编译器(或预处理器)输出错误消息。 在C ++中,它还使翻译单元格式不正确(即,它导致编译失败)。
如果您有几个可以定义的宏,并且您希望确定只定义了它们的某些组合,则可以使用#error
在定义了无效组合时导致编译失败。
如果你想确保永远不会编译某些代码块(无论出于何种原因),它也会很有用。
用于检查编译器设置以及validation宏值组合。 一些随机的例子:
#if !defined(_DLL) # error This code will only work properly when compiled with /MD #endif #if _WIN32_WINNT < 0x502 # error Sorry, Windows versions prior to XP SP2 are not supported #endif #if defined(_APPLE) && defined(_LINUX) # error Conflicting operating system option selected, choose one. #endif
以下是Gnu预处理器文档的链接,解释了#error
和#warning
指令: http : //gcc.gnu.org/onlinedocs/cpp/Diagnostics.html
特别是:
指令
#error
导致预处理器报告致命错误。 形成#error
的其余行的标记用作错误消息。
另请参阅有关这些指令的可移植性的问题 。
需要了解更多c/c++开发分享C / C ++中的#error如何工作?,也可以关注C/ C++技术分享栏目---计算机技术网(www.ctvol.com)!
以上就是c/c++开发分享C / C ++中的#error如何工作?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/979956.html