Red Hat Enterprise Edition 4 gcc 编译器是否支持带有 BOM 文件的 UTF8?
如果是,我需要哪个 gcc 编译器版本来使用 BOM 编译以 UTF8 编码的 C++ 文件?
我目前正在使用gcc 3.4.6 版,它给了我以下错误:-
:1: error: stray '\239' in program
1: error: stray '\187' in program
error: stray '\191' in program
似乎只有GCC 4.4 及更高版本支持带有 BOM 的 UTF-8。
GCC 4.4 是在RHEL 6中引入的,它也可以在 RHEL 5 中作为单独的包gcc44
. 我不知道是否有适用于 RHEL4 的 GCC 4.4 包。
如果您必须使用 GCC 3.4.6,您可以尝试在构建系统中添加一个“预处理”步骤来删除 BOM。一个非常简单的例子(取自这里)是:
tail --bytes=+4 source.cpp > sourceWithoutBOM.cpp