标签:http ar 使用 sp 文件 on 问题 代码 html
用c-free时用mingw5编译C++代码,发现第一行报错:
>1: error: stray ‘\239‘ in program
>1: error: stray ‘\187‘ in program
>1: error: stray ‘\191‘ in program
百度一番发现可能是存在中文字符(如空格,中文的逗号句号分号),而用英文输入法替换掉第一行所有标点符号后仍存在此问题。http://gcc.gnu.org/ml/gcc-help/2005-01/msg00272.html 此链接下有一句 non-printable characters in a source file. 故难怪替换后不能解决问题,而实质上这个不可显示的字符为BOM字符。
平时我们的源文件使用GBK或UTF编码,如果有汉字则使用GBK,UTF-8更利于跨平台。而windows下为了区分UTF-8编码格式,在以UTF-8编码的文本文件前写入三个字节的标志(0xef 0xbb 0xbf)来区分UTF-8编码的文本文件,也就是带BOM的UTF-8。而linux下的一些编译器不识别BOM,所以就会报错。
如gcc可以识别,而mingw5则不能,所以显示三个错误。
解决方法:另存为文件为UTF-8 no BOM格式。若错误原因为输入了中文字符的逗号句号分号,则需要一一修改。
more:
python中也会出现字符问题,最典型的是tab和space混用,而python解释器严格要求仅使用一种,所以用notpad++时要注意相关的设置。
标签:http ar 使用 sp 文件 on 问题 代码 html
原文地址:http://www.cnblogs.com/moi7/p/4048926.html