由于编码的问题,Linux代码移植到windows下总是出现“error2065”或者“error 2039”这样的错误,还有“C4819: 该文件包含不能在当前代码页(936)中表示的字符”这样的警告。本来某个结构体的成员却被说成“不是XX的成员”。还有本来定义“#define”好的宏,却说“未定义的标识符”。对于这样的耐人寻味的错误:
首先,先抽根烟冷静一下。
然后,把Linux下所有的代码文件包括.h和.cpp全部用windows下的notepad(记事本)打开并保存一下,然后分别调试每一个.cpp文件。注释掉Linux下特有的头文件,添加Windows下相应功能的头文件。就ok啦!!
关于ANSI、Unicode、UTF-8,下面有一篇文章是讲他们的区别的
http://blog.sina.com.cn/s/blog_a547eff001012igt.html
其中Unicode是国际通用的编码。