linux - 预处理器指令返回值

标签 linux c-preprocessor preprocessor-directive

我想在变量的输出值中接收检查
这是用 #define check some 定义的 是否可以通过某些预处理器指令接收该值?
例如这样的事情:
#错误检查

最佳答案

#error 指令未进行宏扩展。 #warning 也不是。

这意味着您无法使用#error#warning输出预处理器表达式

根据预处理器表达式的值给出的消息最接近的是这样的:

#if (MACRO < 12)
#error MACRO was less than 12
#elif (MACRO >15 && MACRO < 19)
#error Another message about MACRO
#endif

请参阅文档中的“条件”了解更多信息:

关于linux - 预处理器指令返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971233/

相关文章:

c++ - 将字节指针保存到文件

php - 在没有 exec/passthru 的情况下从 PHP 中的目录构建 Tar 文件

c - 函数宏参数到函数宏

c++ - #pragma 警告 - 文件特定?

c - GCC预处理: Leave undefined Conditionals without assuming zero-values

c - recv 调用缓慢的原因

c++ - Linux - 动态和静态加载时调用相同的函数

c++ - #define 的奇怪行为

c++ - 使用 CPP 标志从一个源文件创建多个目标文件

c# - C# 可以使用#if 来比较小于或大于的值吗?