过程如下:
EXE程序A在一处调用了DLL B,在某一处调用了DLL C,DLL C又调用了DLL D,而DLL D和DLL B只是大小写不同,因此程序报错,它好像是在应该调用DLL D中函数时依然调用了DLL B.
见笑,不知大家能否看懂我的文字,感觉像绕口令了!
先谢了
EXE程序A在一处调用了DLL B,在某一处调用了DLL C,DLL C又调用了DLL D,而DLL D和DLL B只是大小写不同,因此程序报错,它好像是在应该调用DLL D中函数时依然调用了DLL B.
见笑,不知大家能否看懂我的文字,感觉像绕口令了!
先谢了
在LoadLibrary的时候最好加上全路径!
1.执行文件所在目录下。
2.进程的当前目录。
3.WINDOWS系统目录。
4.WINDOWS目录。
5.列在PATH环境变量中的目录。
现在遇到一问题,在VC6.0编译的应用程序中,调用.Net生成的托管代码,碰巧在托管和非托管的DLL库文件中,有重名的文件。非托管为动态加载(LoadLibrary),托管为静态引用;先加载非托管,而后无法加载托管库。由于这是两个较大系统的集成,改变哪一个文件名称都不大可能,有什么高招?
打开Project->Setting对话框,link选项卡,在最下面连接器参数框中输入:/DelayLoad:yourdll.dll
在LoadLibrary的时候最好加上全路径!