返回列表 回复 发帖

visual studio2005 warning C4819 断点F9无效,终极解决方案

由于语言不同特别是源文件编辑器的语言不同,中文环境下编译时会在被引用的 directX 的包含文件中出现非法的回车等空白符号,导致经常出现如下告警:
warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss.

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

这个问题很讨厌,并不仅仅是编译结果清净与否的问题,当某一个cpp文件在编译的时候,碰到了C4819,那一般就意味着,这个cpp文件将不再可以运行时调试了!因为编译器会在调试的时候,识别不出来这个cpp文件。

终极修正,这次应该是最终解决方案了:

产生问题的原因:vc2005对unicode的双字节支持的不好

解决问题的方法:Ctrl+A, Alt+F8,全文重新排一下版,或者再出现问题的行处Alt+F8

避免问题的习惯:编码时的避免使用中文,就算写中文,尽量要用英文标点(舍Unicode用ASCII )。
返回列表