[英]Linking 64bit DLL to Visual Basic 6
我正在更新用 C 编写的现有 DLL 项目。出于多种原因,需要 32 位和 64 位版本。
使用这些 DLL 的应用程序是用 Visual Basic 6 编写的,项目中的一个类需要它。 此类包含一个充满 DLL Public Declare
函数的模块; 该类是模块中函数的包装器。
Visual Basic 6 项目本身没有引用。 到目前为止,我已经完成了 32 位版本的编码并且对它很满意。
将模块中的文件名更改为指向 64 位 DLL 是否有任何问题,因为 64 位 DLL 将从 32 位 DLL 中调用,在 32 位应用程序中,用 Visual Basic 6 编写?
你不能从 32 位调用 64 位代码。 执行此操作的唯一方法是在 64 位进程中运行 64 位代码,并使用某种进程间通信与它们对话。
Raymond “The Old New Thing” 有一篇很好的文章,解释了为什么不可能从 32 位转换到 64 位。
出于对 VB6 的尊重,VB6 于 1998 年问世,当时计算是否会从 16 位迁移到 32 位尚不完全清楚,更不用说 64 位处理了。 除非您想出某种 64 位 <-> 16/32 位互通层,否则这是不可能直接实现的。 至少不是通过VB6的手段
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.