2010-01-21 94 views
0

我正在研究一个使用C编写的DLL的项目,该DLL有32位和64位两种编译DLL的原因。主要应用程序是用Visual Basic 6编写的。引入C DLL功能的组件是Visual Basic 6中的一个类,它包含一个完整的DLL对象的公共声明函数的模块,而类是这些函数的包装器在模块中。所以在Visual Basic 6项目本身中没有引用。到目前为止,我已经完成了对32位版本的编码并且很满意。如果有任何问题需要更改模块中的文件名以指向我不知道的64位DLL。由于64位DLL将从一个用Visual Basic 6编写的32位应用程序中的32位DLL调用?请不要因为仍然用这样一种古老的语言工作而恨我。这是我正在进行更新的当前项目。将64位DLL链接到Visual Basic 6

回答

3

你不能从32位调用64位代码。唯一的方法是在64位进程中运行64位代码,并使用某种进程间通信与它们进行通信。

2

Raymond“The Old New Thing”有一个nice article,它解释了为什么从32位到64位无法进行thunk。

+0

感谢您的信息。至少有趣的阅读... – Jeff 2010-01-21 18:41:07