工程PA 通过 extern "C" class __declspec(dllexport) classA {vector<int> ca; int getca(){return ca[0];};}
将classA打包成了dll和lib
工程PB 通过 #include "*.h" #pragma comment(lib, "*.lib")载入了dll之后
赋值 classA pbca; pbca.ca.push_back(1); 正常赋值可以读取pbca.ca[0]=1
但是此时通过类自身的方法 pbca.getca() 获取ca[0]的值会异常
排查发现类里面读取自身ca[0]的地址值 和类外面读取pbca.ca[0]的地址值不一样
这是什么原因呢?
相似问题