可执行的dll加载(x32,x64):选择正确的

时间:2009-04-02 09:26:40

标签: windows dll 64-bit

我有一个包含多个第三方库的大型项目。我想为32位和64位架构构建一切。几个库创建共享库(dll)。从我的项目中为这些已编译的可执行文件提供这些dll的最佳方法是什么?我想,我可以将所有这些dll放入一个添加到PATH变量的目录中。但是大多数从第三方库创建的dll在32位和64位编译下以相同的方式命名,所以我不能将它们放在一个目录中。我可以创建两个目录,一个用于32位dll,一个用于64位dll,可执行文件选择正确的dll? 或者你有一个更好的想法让我的可执行文件加载正确的dll? 谢谢!

2 个答案:

答案 0 :(得分:1)

由于32位可执行文件无法选择64位DLL,反之亦然。你只需要一个包含所有32位(可执行文件+ DLL)的目录,另一个包含所有64位的目录。

答案 1 :(得分:0)

目标系统是32位或64位,而不是两者。您应该根据系统的位数仅安装所需的版本。然后,您只需要两个不相交的二进制集,并安装目标系统所需的一组,并且在运行时检测要加载的内容永远不会出现问题。