我继承了一个非常大的C代码库,它广泛使用unicode标识符(UTF-8编码)。
我必须使用GCC构建它(任何版本都可以,但我无法重新编译它),并且我得到了很多error: stray ‘\302’ in program
(其中763个错误)。
由于名称冲突,我不能简单地删除所有unicode字符
我无法使用iconv
,因为一定数量的字符被转换为?
在标识符内无效(显然我不能将所有?
替换为不同的字符,因为代码库也是广泛使用三元运算符。
有没有比手动编辑每个unicode字符更好的方法?
最好的解决方案是自动和可逆的(以防GCC最终开始正确支持unicode)。
注意:我知道当前的GCC limitations and of the patch provided,但我无法重建gcc。此外,我要求的是一种自动替换所有unicode字符的方法(如果可能的话,以可恢复的方式),而不是保留它们的方法。