2014-03-04 116 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的一致性。 –