1
我有多個C源文件。在這些文件中,註釋用於C++風格(即//)。這些我想改變c風格(/ * * /)。而不是手動更改它,有沒有任何腳本來做到這一點。如果有的話,請告訴我,我將非常感謝你。用於將註釋的llines從C++更改爲Ansi C風格的Perl腳本
我有多個C源文件。在這些文件中,註釋用於C++風格(即//)。這些我想改變c風格(/ * * /)。而不是手動更改它,有沒有任何腳本來做到這一點。如果有的話,請告訴我,我將非常感謝你。用於將註釋的llines從C++更改爲Ansi C風格的Perl腳本
快速骯髒的解決方案是sed 's=//\(.*\)$=/*\1 */=
。
此解決方案不穩健,因爲//
可能發生在字符串內部,甚至是其他評論。
一個強大的解決方案需要一個(部分)C語言分析器。然而,人們可以爭辯說,這個問題沒有真正的解決方案,因爲這兩種評論是不兼容的。
從http://lua-users.org/lists/lua-l/2013-04/msg00310.html考慮這個例子。
int x = 5 //* strange construction */ + 5
+ 5;
x
將6舊式的ANSI C,但10如果編譯器接受 '//' 註釋。