有没有一种简单的方法可以从C/C++源文件中删除注释而无需进行任何预处理.(也就是说,我认为你可以使用gcc -E,但这会扩展宏.)我只想要删除注释的源代码,不应该改变任何其他内容.
编辑:
对现有工具的偏好.我不想用正则表达式自己写这个,我预见代码中有太多的惊喜.
如果它们以/*开头并以*结尾,我如何删除所有注释?我尝试了以下操作.它适用于一行评论.
sed '/\/\*/d'
Run Code Online (Sandbox Code Playgroud)
但它不会删除多行注释.例如,不删除第二行和第三行.
/*!50500 PARTITION BY RANGE (TO_SECONDS(date_time ))
PARTITION 20120102parti VALUES LESS THAN (63492681600),
(PARTITION 20120101parti VALUES LESS THAN (63492595200) */ ;
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我需要保留最后一个; 在结束评论标志后.