vs2010 MFC(C++) 编码后的异常

  由于我写的代码有大量日语解释,所以有时候会变成乱码,特别是换了系统的语言环境时。

  今天(20181207)在正常用notepad++去重新编码CardMark.h的文件后,编译文件时却出现了1个失败,查看错误一览时,里面有大量的找不到 成员参数。查看了一下修改文件的时间,回忆了一下操作,只记得改过几段代码,也是无关紧要的,不应该会发生这么严重的错误。所以,把所有改过的还原到修改之前,发现没问题,之后便一个一个测试。后来发现如果变异了CardMark.h的话就会出现问题,这个文件notepad++右下角显示的是Shift-JIS,编码为UTF-8。结果还是出错,突然想着要不变一下UTF-8-BOM,没想到改成UTF-8-BOM后竟然编译成功。我把编译成UTF-8的文件和UTF-8-BOM的文件进行了对比,发现完全一样的文件,但为什么UTF-8的文件编译不成功,而UTF-8-BOM的文件可以编译成功能?我之前转码其他文件的时候也用的UTF-8呀,为什么那个时候没事,今天这个文件有问题呢?

   我查找了一下代码,唯一感觉有点奇怪的就是CardMark.h比其他转码的文件多了一种写法。

    #error "PCH に対してこのファイルをインクルードする前に 'stdafx.h' をインクルードしてください"

有可能是因为编译时 #error 这一段也会编译在代码中进行解释,所以会出现错误吧。真正的原因等大神来解,或者以后自己在慢慢找吧。先Mark一下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hkmaike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值