主要功能代碼在一個VC6寫的DLL中,其中會訪問WBEM
現在遇到如下情況
用VC6編譯的EXE直接打開VC6DLL并呼叫里面的函式,作業正常
用VC2013編譯的EXE直接打開VC6DLL并呼叫里面的函式,作業正常
用VC2013編譯的EXE直接打開一個VC2013編譯的DLL(A),然后在DLL(A)中打開VC6DLL并呼叫里面的函式,崩潰在
IWbemLocator::ConnectServer()中。
我懷疑是不同編譯器生成的DLL之中某些靜態變數的位置不對造成的
求大牛指點原因及解決方案,謝謝!
uj5u.com熱心網友回復:
一般不要跨cc版本呼叫。也就是exe跟dll都是同一個版本的vc編譯的uj5u.com熱心網友回復:
因為功能代碼沒人維護,所以只好這樣弄奇怪的是
1. 2013EXE直接調DLL沒問題
2. 不調有WBEM的那個函式也沒問題
uj5u.com熱心網友回復:
那也是運氣好。微軟是不推薦的
uj5u.com熱心網友回復:
不能這么說吧按這標準,VC6編譯的東西在WIN7下應該就跑不了了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/123985.html
標籤:進程/線程/DLL
上一篇:MFC串口通訊,能夠打開串口,但是往驅動發送就報錯。。。
下一篇:有關破解一個游戲雙開的問題
