在不同编译器生成的DLL使用WBEM的问题

Areslee 2016-10-01 11:06:15
主要功能代码在一个VC6写的DLL中,其中会访问WBEM
现在遇到如下情况
用VC6编译的EXE直接打开VC6DLL并调用里面的函数,工作正常
用VC2013编译的EXE直接打开VC6DLL并调用里面的函数,工作正常
用VC2013编译的EXE直接打开一个VC2013编译的DLL(A),然后在DLL(A)中打开VC6DLL并调用里面的函数,崩溃在
IWbemLocator::ConnectServer()中。
我怀疑是不同编译器生成的DLL之中某些静态变量的位置不对造成的

求大牛指点原因及解决方案,谢谢!
...全文
625 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Areslee 2016-10-04
  • 打赏
  • 举报
回复
不能这么说吧 按这标准,VC6编译的东西在WIN7下应该就跑不了了
Areslee 2016-10-02
  • 打赏
  • 举报
回复
因为功能代码没人维护,所以只好这样弄 奇怪的是 1. 2013EXE直接调DLL没问题 2. 不调有WBEM的那个函数也没问题
oyljerry 2016-10-02
  • 打赏
  • 举报
回复
引用 2 楼 Areslee的回复:
因为功能代码没人维护,所以只好这样弄 奇怪的是 1. 2013EXE直接调DLL没问题 2. 不调有WBEM的那个函数也没问题
那也是运气好。微软是不推荐的
oyljerry 2016-10-01
  • 打赏
  • 举报
回复
一般不要跨cc版本调用。也就是exe跟dll都是同一个版本的vc编译的

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧