在正常的代码的情况下,出现上述的错误或者是奇怪的错误,或者是不应该报错的地方,基本上都可以认为是文件编码的问题。问题说起来也十分简单,但是真正遇到问题时,确实十分沮丧。对于编码的问题,可能有两个方面的问题,严谨的讲,是包括但是不限于以下的两种常见编码问题:
1- 注释的编码问题,尤其特指中文注释
错误的编码方式:
/*此处是注释*/
正确的编码方式:
/* 此处是注释 */
需要在/**/前后增加空格,这是因为文件编码的问题,将会导致部分编译器无法正确的识别注释符号,这将导致编译器找不到匹配的/**/,或者认为混入了其他的无法识别的编码,从而带来各种异常编译报错
2- LF/CRLF问题
在windows中编译,需要配置为CRLF模式
在linux中编译,需要配置为LF模式
错误的文件行尾序号将会导致双斜杠的注释代码段不能被编译器正确的换行,换言之即丢失了部分的代码段,自然也会有莫名其妙的错误。
配置方法如下,在VScode右下角有对应的选项