红帽EnterPrise Edition 4 GCC编译器支持带BOM的utf8

时间:2013-03-21 10:05:16

标签: c++ linux gcc

Red Hat Enterprise Edition 4 gcc编译器是否支持带有BOM文件的UTF8?

如果是,我需要使用BOM编译以UTF8编码的C ++文件的gcc编译器版本吗?

我目前正在使用 gcc版本3.4.6 ,它会给我以下错误: -

:1: error: stray '\239' in program
 1: error: stray '\187' in program
    error: stray '\191' in program

1 个答案:

答案 0 :(得分:0)

似乎只有GCC versions 4.4 and above支持带有BOM的UTF-8。

GCC 4.4是在RHEL 6中引入的,它也可以在RHEL 5中作为单独的包gcc44使用。我不知道是否有适用于RHEL4的GCC 4.4软件包。

如果您必须使用GCC 3.4.6,您可以尝试在构建系统中添加一个删除BOM的“预处理”步骤。一个非常简单的例子(取自here)将是:

tail --bytes=+4 source.cpp > sourceWithoutBOM.cpp