dll的字符集错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dll的字符集错误相关的知识,希望对你有一定的参考价值。

在进行c++开发项目的时候,使用到一个dll的时候,一引入运行,程序报错了,string错误。
但是根据分析,string错误传入的字符串很短,不可能是越界操作,后来根据debug发现,传入的string在dll中变成了unicode编码字符,从而导致错误。
技术图片

在项目中,用的是多字符集,而dll是unicode字符集,所以两边处理字符集的方式不同,内存中就会出现问题。

因此,要保持两边字符集一致是根本解决问题,或者不使用string类型。

以上是关于dll的字符集错误的主要内容,如果未能解决你的问题,请参考以下文章

C++ DLL 字符参数

使用 DLL 将 C# StringBuilder / 字符串传递给 C++ char*

错误代码到字符串?使用 error_message 构造为 json

“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

在 Ida Pro 中查找字符串数据引用的引用

vs2013编译错误解决: _declspec(dllimport) 动态链接库