C和C ++计算机编程语言的宏预处理步骤。此标记还可用于有关源自或具有相同功能的其他编译器/语言的问题,例如Objective-C或C#中的#directives。
我需要一个宏(或一个函数,但最好是一个宏),它接受一个函数名和无限数量的参数,然后将参数传递给函数。我们假设这个宏是MACROFOO。 #...
我尝试将#error指令与GCC编译器一起使用,如下所示:#error“充电引脚没有区别!一个引脚不能用于多种用途!”这说,我应该使用双引号,所以......
为了使我的代码更短更容易更改,我想替换枚举{E_AAA,E_BBB,E_CCC}; static const char * strings {“AAA”,“BBB”,“CCC”};使用宏,如INIT(AAA,BBB,...
使用g ++(Ubuntu 4.8.4-2ubuntu1~14.04)4.8.4在预编译头中我有以下内容:63 #pragma GCC诊断推送64 #pragma GCC诊断忽略“-Wunused-variable”65 #include
我在代码审查中注意到以下代码:for(int i = 0; i <50; ++ i){switch(i){case 0:return f1();案例1:返回f2(); ...案例49:返回f50(); ...
我有一个非常大的代码库(读取:数千个模块),它们在许多项目中共享代码,这些代码都运行在具有不同C ++编译器的不同操作系统上。不用说, ...
我想将#include重新定义为另一个单词。我不知道C ++预处理是否可以做到这一点,但我正在尝试:#define import #include #define io import io这不起作用......
将C文件导出到新文件时,删除#if 0和#endif之间的代码
我想删除toy.c文件中的所有注释。从C / C ++代码中删除注释我发现我可以使用gcc -E -fpreprocessed -P -dD toy.c但是我的一些代码(比如我不赞成的弃用函数......)
如何在传递给C / C ++宏之前解析int变量? [关闭]
我正在尝试执行以下代码:#define channel1 10 #define channel(id)channel ## id int main(){int id = 1; cout << channel(id)<
有没有更好的方法来“重载”像这样的宏?我需要一个接受各种参数的宏。 #define DEBUG_TRACE_1(p1)std :: string p [] = {p1}; log _log(__ FUNCTION __,p,1)#...
我想在C中的宏中使用switch语句。我有以下代码段:枚举错误{ERROR_NO_MEMORY,ERROR_INVALID_INDEX,ERROR_INVALID_VALUE}; #define MSG_NO_MEMORY ......
是否可以使用预处理指令测试文件是否已包含在内?我想实现这样的事情:#ifincluded assert.h #error“不应该包含assert.h”#endif At ...
我在一些源代码中看到了这种定义#define somemacro(a,b,c)(0)我在相同的源代码中看到:#define anothermacro(a,b,c)(1)任何机构都可以解释这个那种宏定义?......
#包括 #define ABC(x)DEF(x)#define DEF(x)GHI(x)#define GHI(x)printf(x)int main(void){int x = 100; int y = 200; ABC((“x + y之和为%d”,x + y));返回0; } ......
C ++预处理器#define-ing a keyword。标准是否符合标准?
帮助解决关于bool和1的问题的评论中正在进行的辩论:符合标准的C ++预处理器是否允许使用#define重新定义语言关键字?如果是这样, ...
我正在为ATmega168微控制器设置UART。我的第一个代码不起作用。在检查时,我遇到了工作程序中使用的头文件。它使用预处理器......
我刚才回答了一个关于附加到C宏的问题我可以附加到预处理器宏吗?正如答案所说,以下内容适用于clang和g ++,但不适用于msvc #define pushfoo ...
在标准C或GNU扩展中有什么方法可以将内容附加到宏定义中吗?例如,给定一个定义为#define List foo bar的宏,我可以追加bas,以便它扩展,就好像我...
如何仅将C预处理器应用于某些(#if /#endif)指令?
我想知道是否可能,如果是的话,我可以在C ++源文件上运行C预处理器,如cpp,只处理条件指令#if #endif等。我想要其他指令......