有没有一种简单的方法可以在不做任何预处理的情况下从C/C++源文件中删除注释.(也就是说,我认为可以使用gcc-E,但这将扩展宏.)我只想删除带有注释的源代码,其他内容不应更改.
编辑:
对现有工具的偏好.我不想自己用正则表达式写这个,我预见到代码中有太多惊喜.
有没有一种简单的方法可以在不做任何预处理的情况下从C/C++源文件中删除注释.(也就是说,我认为可以使用gcc-E,但这将扩展宏.)我只想删除带有注释的源代码,其他内容不应更改.
编辑:
对现有工具的偏好.我不想自己用正则表达式写这个,我预见到代码中有太多惊喜.
在源文件上运行以下命令:
gcc -fpreprocessed -dD -E test.c
感谢KennyTM找到了正确的旗帜.以下是完整性的结果:
测验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