奇思妙想 · 2024年 4月 7日 0

gcc编译器默认源代码编码

167 次浏览

从GCC 4.7开始,默认源代码编码被设置为UTF-8. 这意味着GCC期望源代码文件以UTF-8格式编码,而不是其他编码格式,比如UTF-16LE或者UTF-16BE,这两种编码都不能被gcc正确解析。可以尝试把源代码转换成这UTF-16LE格式,编译一开始就会提示“error: stray '\377' in program”. 这是因为UTF-16LE第一个字节是0xFF, 对应八进制0377. 这个时候,可以利用 -finput-charset=UTF-16选项设定源代码编码格式。注意,你依然可能遇到编译错误,可参考来解决:指定并编译编码格式为UTF-16LE源代码,依然报错?

源代码中字符串编码和源代码编码一样吗?