dll的字符集错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dll的字符集错误相关的知识,希望对你有一定的参考价值。
在进行c++开发项目的时候,使用到一个dll的时候,一引入运行,程序报错了,string错误。但是根据分析,string错误传入的字符串很短,不可能是越界操作,后来根据debug发现,传入的string在dll中变成了unicode编码字符,从而导致错误。
在项目中,用的是多字符集,而dll是unicode字符集,所以两边处理字符集的方式不同,内存中就会出现问题。
因此,要保持两边字符集一致是根本解决问题,或者不使用string类型。
以上是关于dll的字符集错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 DLL 将 C# StringBuilder / 字符串传递给 C++ char*
错误代码到字符串?使用 error_message 构造为 json
“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。