C 预处理器可以执行整数运算吗?
C 预处理器能够执行整数算术吗? 例如: #define PI 3.1416 #define OP PI/100 #define OP2 PI0 有没有办法在预处理阶段计算 OP 和/或 OP2 ?…
如何在编译时显示 #define 的值?
我试图找出我的代码认为它使用的 Boost 版本。我想做这样的事情: #error BOOST_VERSION 但预处理器不会扩展 BOOST_VERSION。 我知道我可以在程序运行…
对于 OS X 特定代码,我应该使用什么 C 预处理器条件?
对于 OS X 特定代码,我应该使用什么 C 预处理器条件?如果我为 OS X 进行编译,则需要包含特定的库;如果为 Linux 进行编译,则需要包含不同的标头。…
如何暂时禁用 C/C++ 中的宏扩展?
由于某种原因,我需要暂时禁用头文件中的某些宏,并且 #undef MACRONAME 将使代码编译,但会取消现有宏的定义。 有没有办法禁用它? 我应该提到,您并…
这些编译器指令有什么区别?
这些指令之间有什么区别(如果有的话)? #ifdef FOO #if defined FOO #if defined(FOO) 我正在使用 CCS 编译器,但我也对其他 C 编译器感兴趣。…
如何在 C++ 中包含换行符宏或如何使用 C++模板也可以做同样的事情吗?
我看到了以下问题: 如何在 cpp 宏中生成换行符? 让我简要介绍一下 C++ 预处理器中换行符的需求。我正在开发 ARM Realview 编译器 3.1,其代码使用嵌…
你能用 C++ 创建自定义运算符吗?
是否可以创建一个自定义运算符,以便您可以执行类似的操作? if ("Hello, world!" contains "Hello") ... 注意:这是一个与“这是一个好主意吗……”…
可选的初始化程序,通过预处理器技巧?
我知道这行不通,但希望你能看到我正在尝试做的事情 #if ASSIGN_ALLOWED #define MAYBE_SKIP_REST_OF_LINE #else #define MAYBE_SKIP_REST_OF_LINE /…
C 预处理器是先删除注释还是先扩展宏?
考虑这个(可怕的,可怕的,不好的,非常糟糕的)代码结构: #define foo(x) // commented out debugging code // Misformatted to not obscure the p…
如何与 C 预处理器连接两次并展开宏,如“arg ## _ ## MACRO”?
我正在尝试编写一个程序,其中某些函数的名称取决于某个具有如下宏的宏变量的值: #define VARIABLE 3 #define NAME(fun) fun ## _ ## VARIABLE int N…
如何在 C++ 中将模板类 ptr 转换为普通类 ptr
我对宏有疑问。我如何通过宏将模板类转换为普通类。例如: #define RUNTIME_CLASS(class_name) ((CRuntimeClass*)(&class##class_name)) template&…
Xcode/GCC 预定义宏的目标名称?
我想知道应用程序的目标名称是否有 Xcode 或 GCC 预处理器符号。 例如,如果我正在构建一个名为“MonkeyChicken”的应用程序,是否有一个预处理器符号…