C++ 如何在linux上关闭gcc预处理器?
我已经在谷歌上搜索了一段时间,关闭了linux上的gcc预处理器(使用这个确切的短语),一切都无关紧要。例如,我想关闭除预处理器(与我想要的相反)或加压警告之外的所有。有人知道禁用预处理器的方法吗?我发现Facebook开发并宣称的一款速度更快,我想测试一下。我测试了lornix在评论中所说的,它很有效:C++ 如何在linux上关闭gcc预处理器?,c++,linux,gcc,c-preprocessor,C++,Linux,Gcc,C Preprocessor,我已经在谷歌上搜索了一段时间,关闭了linux上的gcc预处理器(使用这个确切的短语),一切都无关紧要。例如,我想关闭除预处理器(与我想要的相反)或加压警告之外的所有。有人知道禁用预处理器的方法吗?我发现Facebook开发并宣称的一款速度更快,我想测试一下。我测试了lornix在评论中所说的,它很有效: 将另一个/更新的预处理器命名为“cpp”,并将其放在路径中,然后将原始cpp重命名为cpp other或cpp orig。考虑到您正试图以任何方式替换cpp,这将非常有效 将文件命名为prog
将另一个/更新的预处理器命名为“cpp”,并将其放在路径中,然后将原始cpp重命名为cpp other或cpp orig。考虑到您正试图以任何方式替换cpp,这将非常有效 将文件命名为
program.i
而不是program.c
,它将被GCC/Clang视为已经预处理过,并直接发送到编译器
例如:
$ cat t.i
int printf(const char *f, ...);
int main(){
printf("hello world\n");
}
$ gcc t.i && ./a.out
hello world
$cat t.i
int printf(常量字符*f,…);
int main(){
printf(“hello world\n”);
}
$gcc t.i&./a.out
你好,世界
我相信,如果源代码已经被预处理,预处理器将成为不可操作的,但我可能弄错了。请命名新的/其他预处理器
cpp
,并将其放在前面的路径中?或者将原来的cpp
重命名为cpp other
,然后也将您的cpp
命名。基本上只需在正常的刀具链中更换它。那是你的终极目标,不是吗?用另一个替换cpp?好的。谢谢你的回答!固体我试图在我的回答中解释一个类似的问题,但这个版本更好。那么,两年后决定否决我的答案(当场)的人是否有某种反馈?