dll导出类:成员函数中存在string类型导致编译报错 _acrt_first_block == header
摘要:根本原因:对象在析构时不正确的释放内存导致。 std::string是STL中定义的模板类,所以编译器在编译动态库时会将std::string实例化,在编译exe时也会将其实例化,也就是说有两套std::string实例代码分别在exe和dll中. //实例: //动态库中 bool MyDebug
阅读全文
设置当前目录
摘要:exe调用dll,dll需要读取配置文件,此时需要dll能找到配置,即在exe工作目录下寻找,而不是dll编译时工作目录 char sBuf[1024]; char* ptr; if (GetModuleFileName(NULL, sBuf, sizeof(sBuf))) { ptr = strr
阅读全文