gpt4 book ai didi

c++ - 请求关于 dll 编程的好教程

转载 作者:IT老高 更新时间:2023-10-28 22:37:52 25 4
gpt4 key购买 nike

过去,我一直在尝试为一些应用程序创建插件。这些始终是 dll 文件,我已经按照各种应用程序的 SDK 文档中的说明进行操作,但我从来没有真正了解我在做什么。为了解决这个问题,我试图找到更多处理 C++ 编程的一些实际方面的任何资源,包括处理 dll,我脑海中的一个列表是:

  • dll 文件,它们的用途和原因是什么?
  • 为什么使用 dll 文件而不是库?
  • 那个 .def 文件是关于什么的,它是微软独有的吗?
  • list 文件有什么用?
  • ...

基本上,所有可以在 IDE 中看到的可爱选项(对我来说是 Visual Studio 和 XCxcode)——人们如何了解它们是什么以及如何将它们与比编写“你好”更复杂的代码结合使用世界的应用?我想我正在寻找更多关于编程的“架构 View ”。到目前为止,我在所有 C++ 书籍中发现的最多的是总有一节源代码 > 目标代码 > 与其他 obj 代码链接 > 可执行文件但仅此而已。

那么,对于像我这样想学习更多 C++ 语法的人来说,有什么好书吗?我了解代码,了解面向对象,了解 STL。下一步我需要一本好书或资源。

谢谢! (对不起,如果这是一个有点模糊的问题,但它已经到了这个)

最佳答案

dll 文件,它们的用途和原因是什么?

dll 文件与 Microsoft Windows 上的 .exe 文件相同(除了标题中的 1 位表示它是 DLL)。任何使用它的程序都可以共享 dll 内存,从而节省内存。可以根据需要从 RAM 加载和卸载 Dll,从而节省内存。它们也可以单独更新,而无需重新编译 .exe(您可能没有可用的源代码。)

为什么使用 dll 文件而不是库?

libs,也称为静态库,要求每次更改时都重新编译 exe,而Dlls 则不需要。如果多个进程使用 Dll,则 节省内存,并且可以从一个集中位置为所有程序更新。对于库,您必须单独重新编译和替换每个 .exe。 Dll 是必须包含在 exe 中的额外文件,因此 dll 可能不利于 Internet 分发

那个 .def 文件是关于什么的,它是微软独有的吗?

.def 是一个编译器特定的文件,它告诉编译器 dll(API)应该如何在内存中布局。它们可以在包括 gcc 在内的许多不同编译器中找到,尽管支持的功能和语法有所不同。

list 文件有什么用?

list 是 Windows XP SP3 的新功能,基本上它告诉 Windows 它需要哪些版本的系统库,以及二进制文件是否需要管理员权限才能运行。 (请记住,dll 只是一个 exe,但有一点不同)。我相信 manfest 也用于代码签名,验证可执行文件是否合法。

关于c++ - 请求关于 dll 编程的好教程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619214/

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