1

我有多个 C 源文件。在这些文件中,注释以 C++ 样式(即 //)使用。这些我想更改为 c 样式(/* */)。是否有任何脚本可以执行此操作,而不是手动更改它。如果有的话,让我知道,我会非常感谢你。

4

1 回答 1

0

一个快速而肮脏的解决方案是sed 's=//\(.*\)$=/*\1 */=.

此解决方案不可靠,因为//可能出现在字符串甚至其他注释中。

一个健壮的解决方案需要一个(部分)C 词法分析器。但是,有人可能会争辩说,这个问题没有真正的解决方案,因为这两种类型的评论是不兼容的。

考虑来自http://lua-users.org/lists/lua-l/2013-04/msg00310.html的这个例子。

int x = 5 //* strange construction */ + 5
      + 5;

x在旧式 ANSI C 中将为 6,但如果编译器接受 '//' 注释,则为 10。

于 2013-07-18T12:32:48.963 回答