我想動態鏈接用戶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在運行時的正確路徑? 另外什麼是其他平臺的路徑?
我想動態鏈接用戶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在運行時的正確路徑? 另外什麼是其他平臺的路徑?
如果您在64位計算機上運行32位可執行文件,則需要C:\ Windows \ SysWOW64版本。如果您在64位計算機上運行64位可執行文件或在32位計算機上運行32位可執行文件,則需要C:\ Windows \ System版本。但是我會說Windows LoadLibrary調用會爲你找出那些東西。你應該只能調用LoadLibrary(L「OpenCL.dll」)。它會爲你挑選合適的。
其他位置是驅動程序或SDK安裝的一部分,可能不會在其他具有OpenCL的系統上部署。
同意。你不應該指定路徑,只需加載DLL,操作系統會在正確的位置找到它。 – Dithermaster
@ boiler96感謝您的答覆和Dithermaster的一致性。 –
不確定你所指的是:如果用戶安裝了OpenCL,那麼他有一個「可安裝的客戶端驅動程序」,並且應該將其安裝到通過PATH環境變量可見的路徑中。所以如果DLL可用,那麼它應該是自動可見的(除非安裝出現問題) – Marco13