有没有一种简便的方法可以在不进行任何预处理的情况下从C/C++源文件中删除注释。 (即,我认为您可以使用gcc -E,但这将扩展宏。)我只希望除去注释的源代码,没有其他更改。
编辑:
偏爱现有工具。我不想自己用正则表达式编写代码,我预见代码中会出现太多惊喜。
最佳答案
在您的源文件上运行以下命令:
gcc -fpreprocessed -dD -E test.c
感谢KennyTM找到正确的标志。完整性的结果如下:
test.c:
#define foo bar
foo foo foo
#ifdef foo
#undef foo
#define foo baz
#endif
foo foo
/* comments? comments. */
// c++ style comments
gcc -fpreprocessed -dD -E test.c
:#define foo bar
foo foo foo
#ifdef foo
#undef foo
#define foo baz
#endif
foo foo
关于c++ - 从C/C++代码中删除注释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2394017/