我们可以使用编译为32位的应用程序调用为64位编译的DLL的函数吗?
我正在使用Windows 2008 64位系统。但是,应用程序仍然使用32位编译。
该代码涉及MFC& Windows SDK功能。
答案 0 :(得分:4)
否。 32位应用程序无法将64位模块加载到其进程空间中(反之亦然)。
请记住,32位进程仅在专用的Windows-on-Windows(WOW64)子系统中的64位版本的Windows上受支持。这使得互操作性最多变得棘手。如果您关心技术细节,Raymond Chen的blog entry on the subject非常有启发性。
您需要重新编译其中一个,或者将其加载到一个单独的进程中,并使用interprocess communication来协调这两个进程。
答案 1 :(得分:1)
那是不可能的。包含在dll中的二进制代码是不同的,指针是64位。