我正在更新用C编写的现有DLL项目。出于多种原因,需要同时使用32位和64位版本。
使用这些DLL的应用程序是用Visual Basic 6编写的,并且是项目中的类所需要的。此类包含一个对DLL充满Public Declare
功能的模块;该类是模块中功能的包装。
Visual Basic 6项目本身中没有引用。到目前为止,我已经完成了对32位版本的编码并对此感到满意。
如果使用Visual Basic 6编写的32位应用程序中的64位DLL是从32位DLL调用的,则更改模块中的文件名以指向64位DLL是否存在任何问题?
您不能从32位调用64位代码。这样做的唯一方法是在64位进程中运行64位代码,并使用某种进程间通信与之对话。
[Raymond“ The Old New Thing”的nice article解释了为什么无法从32位转换为64位。
[由于对VB6的所有应有的尊重,VB6于1998年问世,当时尚不完全清楚计算是否将从16位迁移到32位,更不用说64位处理了。除非您提出某种64位 16/32位互通层,否则这是不可能直接实现的。至少不是通过VB6的方式