Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
根据计算机中的显卡,我希望我的应用程序要么选择现有的 opengl32.dll(位于C:\Windows\System32),要么选择 Mesa\software fallback opengl32.dll。是否可以在加载时执行此操作,或者这是我无法控制的?
C:\Windows\System32
opengl32.dll
如果没有,是否可以在将.dll文件加载到 Windows 应用程序中之前执行我自己的代码(我的备份解决方案是简单地将.dll包含在与我的可执行文件相同的目录中的软件文件重命名)?
.dll
退房LoadLibrary(Ex)。
LoadLibrary(Ex)
是的。使用延迟加载。这是一个非常简单的编译器标志。在幕后,它将为您生成 LoadLibrary 和 GetProcAddress 调用。
Sinde 的实际加载opengl32.dll现在将延迟到第一次调用 OpenGL 函数,您有时间调用SetDllDirectory.
SetDllDirectory