在实践过程中,使用VS2022编译的dll动态链接库在VC++6.0中使用的时候出现的异常情况,查了n久才解决问题…
废话不多说,进入正题:
在VC++6.0中使用VS2022编译的动态链接库时遇到一个莫名的异常,该动态链接库在VS中测试是完全ok的,但在VC++6.0中一直报错,经过长时间的调试,发现动态链接库对外暴露的接口穿的参数是引用类型的vector类型;由于编译器的版本和C++标准库存在差异,导致其在VC++6.0中无法正确识别vector;后将vector改为数组传递时,该动态链接库能够在VC++6.0中正常使用…
解决办法:
1 使用数组形式替换vector容器的使用
2 使用相同的编译器和C++标准来编译动态链接库