DLL中有STL时,应注意的问题。已解决,原来是DLL Hell问题
2009-04-24 01:37
288 查看
今天在DLL中增加了四个list,以便更好的完成封装。但是应用程序在调用DLL中的列表,往里增加元素时,老是出现错误,且通过size()函数获取其元素个数后,发现是18642323,一个比较奇怪的数字。无论如何调试都得不出结果。举例如下:
m_pDLL:DLL中导出的类;
m_pDLL->m_listAna:DLL中声明的列表;
但是当利用m_pDLL->m_listAna->push_back(pMyElement)时,出现错误,具体原因还没有完全搞明白,可能是stl的问题,不允许其它程序从外部调用的原因吧。
最后的解决方法是:
完全的封装list,让对list的所有操作都在DLL中实现,外部应用程序通过DLL提供的接口实现对list的操作,才得以解决。
从上述解决方法不知是否得出上述的结论,现在还没用完全弄明白。
看了DLL Hell这篇文章才搞懂,个人感觉这篇文章写的很好,朴实又能说明问题!
m_pDLL:DLL中导出的类;
m_pDLL->m_listAna:DLL中声明的列表;
但是当利用m_pDLL->m_listAna->push_back(pMyElement)时,出现错误,具体原因还没有完全搞明白,可能是stl的问题,不允许其它程序从外部调用的原因吧。
最后的解决方法是:
完全的封装list,让对list的所有操作都在DLL中实现,外部应用程序通过DLL提供的接口实现对list的操作,才得以解决。
从上述解决方法不知是否得出上述的结论,现在还没用完全弄明白。
看了DLL Hell这篇文章才搞懂,个人感觉这篇文章写的很好,朴实又能说明问题!
相关文章推荐
- 跨dll使用template/STL需要注意的问题
- 跨dll使用template/STL需要注意的问题
- 编译问题解决:LINK : fatal error LNK1104: 无法打开文件“*.dll”
- centos 6.5t升级python注意事顶及遇到问题的解决方法
- VC6 在win7下无法兼容office2010问题解决 FileTool.dll
- 解决win7 64位下安装php高版本 不能加载php_curl.dll 问题
- DllMain加载其他DLL造成的死锁问题及其解决办法
- React Native解决"libgnustl_shared.so" is 32-bit instead of 64-bit"报错问题
- 解决vs2010添加WeifenLuo.WinFormsUI.Docking.DockPanel.dll文件报错问题
- Microsoft.mshtml.dll 添加引用及类型选择错误问题解决办法
- 成功解决IE7崩溃问题(MSHTML.DLL出错)及Maxthon 1.5x和IE7无法协同工作问题
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- ILMerge合并多个dll程序集,签名问题有待解决
- dll加载问题的解决方法
- ASP.NET和Oracle连接问题的解决方法 - Unable to load DLL (oci.dll)
- VS路径设置要注意(解决问题error LNK2001: unresolved external symbol _png_check_sig)
- “计算机丢失api-ms-win-crt-runtime-l1-1-0.dll”问题的解决
- 12个需要注意的规范样式写法解决浏览器兼容问题
- 装MSN报错问题解决 无法定位程序输入点except handler4 common 于动态链接库nsvcrt.dll【转】