从32位进程调用64位DLL上的LoadLibrary
问题描述:
我有一个32位exe,需要在检测到操作系统是64位时动态加载64位dll。这可能通过LoadLibrary?如果没有,是否有另一种方法来实现相同的目标?从32位进程调用64位DLL上的LoadLibrary
答
您不能在同一进程中混合使用64位和32位代码。您需要一个32位版本的DLL。
答
如前所述,32位代码无法在同一进程中加载64位代码。您必须将其加载到不同的进程(CreateProcess()?)中并使用IPC进行协调。
+1
这里有一个链接到一组在IPC上做IPC的方法:http://msdn.microsoft.com/en-us/library/ aa365574(VS.85)的.aspx。另外检查我的答案在另一个线程上做更多的方法: http://stackoverflow.com/questions/446411/remote-procedure-calls/446615#446615 – Laserallan 2010-03-17 23:46:33
在附注中,32位指令集称为“x86”,而不是“x32”。这几天真的没什么意义,但我想8086值得记住:) – sbk 2010-03-18 09:23:16