在进行c++开发项目的时候,使用到一个dll的时候,一引入运行,程序报错了,string错误。
但是根据分析,string错误传入的字符串很短,不可能是越界操作,后来根据debug发现,传入的string在dll中变成了unicode编码字符,从而导致错误。
创新互联建站主营肇州网站建设的网络公司,主营网站建设方案,重庆App定制开发,肇州h5成都微信小程序搭建,肇州网站营销推广欢迎肇州等地区企业咨询
在项目中,用的是多字符集,而dll是unicode字符集,所以两边处理字符集的方式不同,内存中就会出现问题。
因此,要保持两边字符集一致是根本解决问题,或者不使用string类型。