gpt4 book ai didi

c++ - 第三种加载动态链接库的方式?别针

转载 作者:可可西里 更新时间:2023-11-01 11:08:53 25 4
gpt4 key购买 nike

现在我可以使用静态加载(包括必要的 header ,并使用#pragma comment (lib, "xxx"))和动态加载(使用函数 LoadLibrary 或 LoadLibraryEx)加载动态链接库。

一些公司在面试中询问其他加载动态链接库的方法。

但我想知道是否有其他方法可以加载动态链接库?

最佳答案

您的问题中存在术语混淆。 DLL 代表“动态 链接库”。顾名思义,它们总是动态加载。它们不能静态加载。术语“静态”通常与静态 库结合使用,即根本不是 DLL 的库。

可以使用 LoadLibraryGetProcAddress 函数(有时称为“运行时链接”或“手动链接”)显式加载 DLL ) 或通过将所谓的导入库 链接到您的程序并以常规方式声明函数(有时称为“加载时链接”或“自动链接”)来隐式。后一种方法有两种:预加载延迟加载。预加载的 DLL 在程序开始时立即无条件地加载。延迟加载的 DLL 在(如果)首次使用时加载。

因此,从这个意义上说,加载 DLL 的主要方式仍然只有两种:显式和隐式。后一种加载方法恰好有两个子品种。有些人可能更愿意将这种分层分类解释为一种平面分类,最终得到三种链接/加载方法。

顺便说一句,隐式链接是通过将导入库链接到您的程序中来实现的。 “包括 header ”本身不会做到这一点。

关于c++ - 第三种加载动态链接库的方式?别针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com