linux下stray \357 in program的解决

本文介绍了解决因文件编码格式中包含BOM(Byte Order Mark)导致的编译错误的方法。通常在Windows环境下使用UTF-8编码的文件会带有BOM标记,而Linux下的编译器不识别BOM,这会导致编译失败。文中提供了两种解决方案:一是使用专门的软件批量去除BOM;二是手动复制文件内容到新文件中,从而避免BOM被复制。
错误输出:
 
            error:stray \357’ in program
              error:stray \273’ in program
              error:stray \277’ in program
              。。。
产生原因:
            文本文件(源代码文件cpp等也是)的编码格式各种各样,没有明确的区分。而一些浏览文本文件的软件大多是用猜测的算法来区分这些编码,这里涉及内容很多,不多说。windows下为了区分UTF-8编码格式,在以UTF-8编码的文本文件前写入三个字节的标志(0xef0xbb0xbf)来区分UTF-8编码的文本文件,也就是带BOM的UTF-8。而linux下的一些编译器不识别BOM,所以就会报错。

解决方法:
            最简单的方法是,用去批量去BOM软件,把工程目录下的所有文件去一下BOM就立刻搞定了。
            花了点时间用Qt写了一个,这里提供linux下发布文件,及Qt源代码。
            地址: iCuteBomKiller_csdn免积分下载

          另外一个麻烦一点的办法(别人教的),把文件里面的内容复制到另一个文件里,然后替换掉原来的文件就可以了。因为复制的时候是不会把BOM复制去的。但是这样有大量文件的时候很麻烦。所以我写了这个软件。

make make -C /lib/modules/3.2.0-23-generic-pae/build M=/home/loongson modules make[1]: Entering directory `/usr/src/linux-headers-3.2.0-23-generic-pae' CC [M] /home/loongson/timer_module.o /home/loongson/timer_module.c:4:1: error: stray\302’ in program /home/loongson/timer_module.c:4:1: error: stray\240’ in program /home/loongson/timer_module.c:4:1: error: stray\302’ in program /home/loongson/timer_module.c:4:1: error: stray\240’ in program /home/loongson/timer_module.c:4:17: error: stray\302’ in program /home/loongson/timer_module.c:4:17: error: stray\240’ in program /home/loongson/timer_module.c:6:1: error: stray\302’ in program /home/loongson/timer_module.c:6:1: error: stray\240’ in program /home/loongson/timer_module.c:6:1: error: stray\302’ in program /home/loongson/timer_module.c:6:1: error: stray\240’ in program /home/loongson/timer_module.c:6:1: error: stray\302’ in program /home/loongson/timer_module.c:6:1: error: stray\240’ in program /home/loongson/timer_module.c:6:1: error: stray\302’ in program /home/loongson/timer_module.c:6:1: error: stray\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_callback’: /home/loongson/timer_module.c:7:1: error: stray\302’ in program /home/loongson/timer_module.c:7:1: error: stray\240’ in program /home/loongson/timer_module.c:7:1: error: stray\302’ in program /home/loongson/timer_module.c:7:1: error: stray\240’ in program /home/loongson/timer_module.c:7:1: error: stray\302’ in program /home/loongson/timer_module.c:7:1: error: stray\240’ in program /home/loongson/timer_module.c:7:1: error: stray\302’ in program /home/loongson/timer_module.c:7:1: error: stray\240’ in program /home/loongson/timer_module.c:7:1: error: stray\302’ in program /home/loongson/timer_module.c:7:1: error: stray\240’ in program /home/loongson/timer_module.c:7:27: error: expected ‘)’ before string constant /home/loongson/timer_module.c: At top level: /home/loongson/timer_module.c:10:1: error: stray\302’ in program /home/loongson/timer_module.c:10:1: error: stray\240’ in program /home/loongson/timer_module.c:10:1: error: stray\302’ in program /home/loongson/timer_module.c:10:1: error: stray\240’ in program /home/loongson/timer_module.c:10:1: error: stray\302’ in program /home/loongson/timer_module.c:10:1: error: stray\240’ in program /home/loongson/timer_module.c:10:1: error: stray\302’ in program /home/loongson/timer_module.c:10:1: error: stray\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_module_init’: /home/loongson/timer_module.c:11:1: error: stray\302’ in program /home/loongson/timer_module.c:11:1: error: stray\240’ in program /home/loongson/timer_module.c:11:1: error: stray\302’ in program /home/loongson/timer_module.c:11:1: error: stray\240’ in program /home/loongson/timer_module.c:11:1: error: stray\302’ in program /home/loongson/timer_module.c:11:1: error: stray\240’ in program /home/loongson/timer_module.c:11:1: error: stray\302’ in program /home/loongson/timer_module.c:11:1: error: stray\240’ in program /home/loongson/timer_module.c:11:1: error: stray\302’ in program /home/loongson/timer_module.c:11:1: error: stray\240’ in program /home/loongson/timer_module.c:11:27: error: expected ‘)’ before string constant /home/loongson/timer_module.c:12:1: error: stray\302’ in program /home/loongson/timer_module.c:12:1: error: stray\240’ in program /home/loongson/timer_module.c:12:1: error: stray\302’ in program /home/loongson/timer_module.c:12:1: error: stray\240’ in program /home/loongson/timer_module.c:12:1: error: stray\302’ in program /home/loongson/timer_module.c:12:1: error: stray\240’ in program /home/loongson/timer_module.c:12:1: error: stray\302’ in program /home/loongson/timer_module.c:12:1: error: stray\240’ in program /home/loongson/timer_module.c:13:1: error: stray\302’ in program /home/loongson/timer_module.c:13:1: error: stray\240’ in program /home/loongson/timer_module.c:13:1: error: stray\302’ in program /home/loongson/timer_module.c:13:1: error: stray\240’ in program /home/loongson/timer_module.c:13:1: error: stray\302’ in program /home/loongson/timer_module.c:13:1: error: stray\240’ in program /home/loongson/timer_module.c:13:1: error: stray\302’ in program /home/loongson/timer_module.c:13:1: error: stray\240’ in program /home/loongson/timer_module.c:14:1: error: stray\302’ in program /home/loongson/timer_module.c:14:1: error: stray\240’ in program /home/loongson/timer_module.c:14:1: error: stray\302’ in program /home/loongson/timer_module.c:14:1: error: stray\240’ in program /home/loongson/timer_module.c:14:1: error: stray\302’ in program /home/loongson/timer_module.c:14:1: error: stray\240’ in program /home/loongson/timer_module.c:14:1: error: stray\302’ in program /home/loongson/timer_module.c:14:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:15:1: error: stray\302’ in program /home/loongson/timer_module.c:15:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:16:1: error: stray\302’ in program /home/loongson/timer_module.c:16:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:17:1: error: stray\302’ in program /home/loongson/timer_module.c:17:1: error: stray\240’ in program /home/loongson/timer_module.c:18:1: error: stray\302’ in program /home/loongson/timer_module.c:18:1: error: stray\240’ in program /home/loongson/timer_module.c:18:1: error: stray\302’ in program /home/loongson/timer_module.c:18:1: error: stray\240’ in program /home/loongson/timer_module.c:18:1: error: stray\302’ in program /home/loongson/timer_module.c:18:1: error: stray\240’ in program /home/loongson/timer_module.c:18:1: error: stray\302’ in program /home/loongson/timer_module.c:18:1: error: stray\240’ in program /home/loongson/timer_module.c:19:1: error: stray\302’ in program /home/loongson/timer_module.c:19:1: error: stray\240’ in program /home/loongson/timer_module.c:19:1: error: stray\302’ in program /home/loongson/timer_module.c:19:1: error: stray\240’ in program /home/loongson/timer_module.c:19:1: error: stray\302’ in program /home/loongson/timer_module.c:19:1: error: stray\240’ in program /home/loongson/timer_module.c:19:1: error: stray\302’ in program /home/loongson/timer_module.c:19:1: error: stray\240’ in program /home/loongson/timer_module.c:20:1: error: stray\302’ in program /home/loongson/timer_module.c:20:1: error: stray\240’ in program /home/loongson/timer_module.c:20:1: error: stray\302’ in program /home/loongson/timer_module.c:20:1: error: stray\240’ in program /home/loongson/timer_module.c:20:1: error: stray\302’ in program /home/loongson/timer_module.c:20:1: error: stray\240’ in program /home/loongson/timer_module.c:20:1: error: stray\302’ in program /home/loongson/timer_module.c:20:1: error: stray\240’ in program /home/loongson/timer_module.c:20:1: error: stray\302’ in program /home/loongson/timer_module.c:20:1: error: stray\240’ in program /home/loongson/timer_module.c: At top level: /home/loongson/timer_module.c:23:1: error: stray\302’ in program /home/loongson/timer_module.c:23:1: error: stray\240’ in program /home/loongson/timer_module.c:23:1: error: stray\302’ in program /home/loongson/timer_module.c:23:1: error: stray\240’ in program /home/loongson/timer_module.c:23:1: error: stray\302’ in program /home/loongson/timer_module.c:23:1: error: stray\240’ in program /home/loongson/timer_module.c:23:1: error: stray\302’ in program /home/loongson/timer_module.c:23:1: error: stray\240’ in program /home/loongson/timer_module.c: In function ‘my_timer_module_exit’: /home/loongson/timer_module.c:24:1: error: stray\302’ in program /home/loongson/timer_module.c:24:1: error: stray\240’ in program /home/loongson/timer_module.c:24:1: error: stray\302’ in program /home/loongson/timer_module.c:24:1: error: stray\240’ in program /home/loongson/timer_module.c:24:1: error: stray\302’ in program /home/loongson/timer_module.c:24:1: error: stray\240’ in program /home/loongson/timer_module.c:24:1: error: stray\302’ in program /home/loongson/timer_module.c:24:1: error: stray\240’ in program /home/loongson/timer_module.c:25:1: error: stray\302’ in program /home/loongson/timer_module.c:25:1: error: stray\240’ in program /home/loongson/timer_module.c:25:1: error: stray\302’ in program /home/loongson/timer_module.c:25:1: error: stray\240’ in program /home/loongson/timer_module.c:25:1: error: stray\302’ in program /home/loongson/timer_module.c:25:1: error: stray\240’ in program /home/loongson/timer_module.c:25:1: error: stray\302’ in program /home/loongson/timer_module.c:25:1: error: stray\240’ in program /home/loongson/timer_module.c:25:1: error: stray\302’ in program /home/loongson/timer_module.c:25:1: error: stray\240’ in program /home/loongson/timer_module.c:25:27: error: expected ‘)’ before string constant make[2]: *** [/home/loongson/timer_module.o] Error 1 make[1]: *** [_module_/home/loongson] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-23-generic-pae' make: *** [all] Error 2
最新发布
12-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值