我在项目中使用 CUDA Driver API。当我在没有 NVIDIA GPU 的 PC 上执行该项目时,它显示“找不到 nvcuda.dll”。
问题是:此 DLL 仅与 GPU 驱动程序一起分发,而不是像在运行时 API 中那样,您可以将所需的 DLL 与可执行文件一起放置。我需要在运行时加载这个 DLL,如果它不存在,我就会知道 CUDA 不可用。我正在使用 Visual Studio 2012 专业版。
有办法吗?
最佳答案
Windows 提供 an API function (LoadLibrary
) 在运行时将 DLL 加载到内存中。您提供包含要加载的 DLL 的名称/路径的 LPCTSTR
(指向 const TCHAR
的空终止指针)。如果您提供相对路径,Windows 将扫描 PATH
和可执行文件的当前目录以查找文件。如果您提供绝对路径,Windows 将使用它。
如果 LoadLibrary
返回 NULL
,则 Windows 找不到该文件。
关于c++ - 在运行时加载 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479924/