2014-03-04 84 views
0

我想动态链接用户PC上的OpenCL.dll。 当我分析我自己的电脑,我能找到很多OpenCL.dll动态加载OpenCL.dll的路径?

C:/Windows/SysWOW64 
C:/Windows/System32/DriverStore/... 
C:/Windows/System32 
C:/Program Files(x86)/AMD APP SDK /... 

所以我想知道这是加载这个DLL在运行时的正确路径? 另外什么是其他平台的路径?

+0

不确定你所指的是:如果用户安装了OpenCL,那么他有一个“可安装的客户端驱动程序”,并且应该将其安装到通过PATH环境变量可见的路径中。所以如果DLL可用,那么它应该是自动可见的(除非安装出现问题) – Marco13

回答

2

如果您在64位计算机上运行32位可执行文件,则需要C:\ Windows \ SysWOW64版本。如果您在64位计算机上运行64位可执行文件或在32位计算机上运行32位可执行文件,则需要C:\ Windows \ System版本。但是我会说Windows LoadLibrary调用会为你找出那些东西。你应该只能调用LoadLibrary(L“OpenCL.dll”)。它会为你挑选合适的。

其他位置是驱动程序或SDK安装的一部分,可能不会在其他具有OpenCL的系统上部署。

+2

同意。你不应该指定路径,只需加载DLL,操作系统会在正确的位置找到它。 – Dithermaster

+0

@ boiler96感谢您的答复和Dithermaster的一致性。 –