动态库与静态库

这篇具有很好参考价值的文章主要介绍了动态库与静态库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

动态库与静态库

动态库(Dynamic Library)和静态库(Static Library)是软件开发中常用的两种库文件形式。

  • 动态库:是一组共享的目标代码文件,它们在运行时动态链接到应用程序中。动态库在系统中独立存在,可以被多个应用程序共享。当应用程序运行时,操作系统会加载动态库,并在需要时将其链接到应用程序中。动态库的优点是可以实现代码的共享和更新,节省内存空间,但缺点是在运行时需要依赖外部的库文件。
  • 静态库:是一组预编译的目标代码文件的集合,它们与应用程序在编译时静态链接在一起。当你使用静态库时,库的代码会被复制到最终的可执行文件中。这意味着可执行文件独立于外部库,可以单独分发和执行。静态库的优点是易于使用和部署,但缺点是如果多个应用程序使用相同的静态库,会造成代码的冗余。

动态库与静态库的常见后缀类型

  • Linux中:静态库 libxxx.a 动态库 libxxx.so
  • Windows中:静态库 libxxx.lib 动态库libxxx.dll

动态库与静态库的可执行权限

动态库(.so 或 .dll),其本身并不是可执行文件,而是被可执行文件或其他动态库所使用的共享代码库。动态库文件通常具有读取和执行权限,以便可以在运行时被加载和链接到正在运行的程序中。

静态库(.a 或 .lib)是一组编译好的目标文件的集合,它们被打包成一个单独的文件。静态库在编译时被链接到可执行文件中,因此在运行时并不需要额外的库文件。静态库文件在大多数情况下仅具有读取权限。文章来源地址https://www.toymoban.com/news/detail-482033.html

到了这里,关于动态库与静态库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux中的动态库与静态库

    软链接 当我们不在本地路径下运行时,运行目标二进制文件一般要写明该程序路径. 但是这样运行对于路径较为复杂的程序极为耗费时间,为了简便操作,我们可以将该可执行程序的路径设置为软链接.此时的软链接一般也可认为是windows可执行程序的快捷方式. 创建软链接命令如下

    2024年02月12日
    浏览(41)
  • 【计算机网络】 静态库与动态库

    库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。静态库是将整个库文件都拷贝到可执行文件中了,而动态库只是将索引文件拷贝到可执行文件中,可以通过索引文件找到动态库文件。 静态库实践 使用方法 首先我们用vs创建一个静态库,再创建

    2024年02月09日
    浏览(49)
  • CMake构建静态库与动态库以及使用

    用例子的方式通俗易懂地解释CMake构建静态库与动态库的过程。 任务: 建立一个静态库和动态库,提供HelloFunc 函数供其他程序编程使用,HelloFunc向终端输出Hello World 字符串。 安装头文件与共享库。 编写一个程序去使用构建的共享库。 (1)建立 t3 目录,用于存放本节涉及到

    2024年02月07日
    浏览(37)
  • 深入理解Linux中的动态库与静态库

                                                      🎬慕斯主页 : 修仙—别有洞天                                                 ♈️ 今日夜电波:I Wish My Mind Would Shut Up—Ivoris                                                          

    2024年01月24日
    浏览(45)
  • 【Linux】静态库与动态库制作及运行原理

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我吧!你定不会失望。 先来总体描述下静态库与动态库的区别. 静态库是将头文件总体复制到可执行文件当中 。 动态库是在可执行程序运行时进行了动态链接 (所需要某个实现方法就去内存中查找). 所

    2024年02月05日
    浏览(31)
  • .NET Native AOT的静态库与动态库

    .NET不仅可以使用 C静态库与动态库,也可以将.NET实现的函数导出为C静态库与动态库。在没有Native Aot之前,.NET只能通过P/Invoke享受C/C++生态,而在Native Aot之后,不仅可以享受这些生态,还可以开发SDK供其他语言调用。 .NET Native AOT的NativeLib参数用于指定本机库的类型。在.NET

    2024年02月16日
    浏览(36)
  • C/C++库之谜:动态库与静态库探秘

    在软件开发领域,动态库与静态库是常用的编程工具,它们的核心功能是为开发人员提供代码复用的便利性。动态库和静态库可以极大地简化开发流程,提高代码的可维护性。本文旨在探讨动态库与静态库的意义以及应用场景,分析它们在不同系统环境中的特点,并通过实际

    2023年04月20日
    浏览(37)
  • VS2019静态库与动态库入门操作指南

    源代码的二进制文件; 分为动态编译与静态编译; 1)区别 (1)动态编译不便于发布,静态编译便于发布; (2)动态编译生成的可执行文件体积较小,静态生成的可执行文件体积较大。 ​ Windows中静态库后缀为.lib 动态库后缀为.dll ​ Linux中静态库后缀为.a 动态库后缀为.

    2024年02月06日
    浏览(40)
  • 「C/C++」C/C++静态链接库与动态链接库

    博客主页:何曾参静谧的博客 文章专栏:「C/C++」C/C++学习 静态链接库(Static Linking Library): 是在编译时将库代码与应用程序静态链接在一起的库。它们被编译为二进制文件,并在运行时作为应用程序的一部分被载入内存。这种库被称为“静态”是因为它们在编译时被链接,

    2024年02月01日
    浏览(39)
  • 如何创建Google test shared library(dll)和static library(lib),并编写测试用例

    从Github下载google test源码 确保本地安装Visual Studio和CMake GUI,本次测试使用VS2017及Cmake GUI 3.20.5 解压googletest-main,打开Cmake GUI,配置源码路径(googletest-main路径),和生成路径(googletest-main/build),需要在生成路径下创建\\\"build\\\"文件夹,记得检查一下MSVC编译器路径在环境变量目录

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包