linux编译错误 程序中有游离的,<错误: 程序中有游离的‘357’>的解决方法

最近在用一个比较旧的arm-linux-gcc 4.1.2去编译较新版本的linux内核,出现以下错误:

xxx.c:1: 错误: 程序中有游离的‘\357’

xxx:1: 错误: 程序中有游离的‘\273’

xxx.c:1: 错误: 程序中有游离的‘\277’

这是由于该文件是以UTF-8 BOM的形式储存的,而所用的编译器不支持这种格式。

我们可以通过以下命令先确认xxx.c文件是不是UTF-8 BOM格式:

$ cat xxx.c |hd -n 10

输出如下:

00000000  ef bb bf2f 2a 0a 20 2a  20 53                    |.../*. * S|

0000000a

输出的前三个码是:ef bb bf,表示该文件是UTF-8 BOM格式。

如何去除UTF-8 BOM格式?

解决方法:

下载bomstrip工具,

下载页面是:

最新版bomstrip-9下载地址:

安装和使用方法(Ubuntu11.04下):、

sudo apt-get install ocaml

tar zxvf bomstrip-9.tgz

cd bomstrip-9/

sudo cp bomstrip.ocaml /usr/bin/

sudo chmod 777 /usr/bin/bomstrip.ocaml

使用方法:

ocaml /usr/bin/bomstrip.ocaml < input_file.c > output_file.c

其中input_file.c就是原UTF-8 BOM格式的文件,output_file.c则是去除UTF-8 BOM格式后的文件。

其他说明:

ocaml 是ocaml语言解析器;

bomstrip.ocaml文件是bomstrip-9中以ocaml语言编写的脚本,其中还有其他语言的脚本,我没有一一试验;

bomstrip使用方法,bomstrip如何使用,UTF-8 BOM错误解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值