如何在C++的程序中显示Windows的"DLL not found"错误?

How to show Windows' "DLL not found" error in my program in C++?

本文关键字:not DLL found 错误 Windows 显示 C++ 程序      更新时间:2023-10-16

我已经搜索了我在本网站中寻找的内容;但是我不明白。

所以,我写了这个问题。

我在C (代码块IDE(中编写了一个.dll文件和一个程序。如果DLL文件和程序在同一目录中,我的程序将起作用。

但是,如果我删除DLL文件并执行程序,Windows向我显示了此错误:

" xxx.exe已经停止工作。">

我想"该程序无法启动,因为xxx.dll在您的计算机中缺少。"消息而不是这个。

我该怎么办?

您可以做三种链接。

  • 加载时间链接是当您的程序启动时自动加载DLL时。Windows通常在与可执行文件的同一文件夹中找到此DLL。
  • 运行时链接是当您通过在代码中调用LoadLibrary专门加载DLL时。

当应用程序调用LoadLibrary或LoadLibraryex功能时,系统将尝试找到DLL(有关详细信息,请参见Dynamic-Link库搜索顺序(。如果搜索成功,则系统将DLL模块映射到过程的虚拟地址空间并增加参考计数。如果调用loadLibrary或loadLibraryex的调用指定了已经映射到调用过程的虚拟地址空间的DLL,则该函数只需将句柄返回到DLL并增加DLL参考计数。〜从这里取

您想做的是指向DLL的运行时链接并测试结果,而不是您当前正在做的事情。

  • Visual Studio提供了第三种选择,延迟加载的DLL 。〜MSALTERS

处理负载卢布里的呼叫。