当前位置: 首页 > news >正文

Linux系统编程(一):Linux平台上静态库和动态库的制作与使用

本篇文章我们通过 gccg++编译器手动制作Linux 平台上的静态库和动态库。由于涉及的内容较多,所以后面分多次来完成本篇文章。做任何事情都是一样的,我们不可能一次性把处在舒适区的事情做好。

本讲主要内容如下:

  • 库的基本概念
  • Linux 平台上静态库的制作与使用
  • Linux 平台上动态库的制作与使用
  • 静态库和动态库的区别

1. 库的基本概念

在编程语言中,“库”指的是一组已经编写好的函数、类、模块或其他资源,开发者可以直接使用它们来简化开发过程,避免从头编写某些功能。从使用角度看,一个编程语言的库分为标准库和第三方库。标准库通常由编程语言的核心开发团队或该语言的官方组织来维护,而第三方库通常由社区和企业开发。

实现库的方式有两种:静态库和动态链接库。

2. Linux 平台上静态库的制作与使用

2.1 基本概念

静态库是一组在编译时被打包到应用程序中的代码。使用静态库时,编译器将库中的代码直接嵌入到可执行文件中。这样,生成的可执行文件包含了所有依赖的代码,运行时不需要再依赖外部库。

在不同操作系统中,静态库的文件扩展名不同,如 .lib(Windows)或 .a(Linux、macOS)。

2.2 静态库的制作与使用

3. Linux 平台上动态库的制作与使用

3.1 基本概念

动态链接库是指程序在运行时才加载的库。与静态库不同,动态库并不会在编译时嵌入到可执行文件中,而是在程序运行时动态链接和加载。这样,可以在运行时共享和加载这些库,减少可执行文件的大小。

不同系统下动态库的文件扩展名也不同,如 .dll(Windows)、.so (Linux)和 .dylib(macOS)。

3.2 动态库的制作与使用

4. 静态库和动态库的区别

http://www.lryc.cn/news/454305.html

相关文章:

  • Nginx的基础讲解之重写conf文件
  • RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation
  • rabbitMq-----broker服务器
  • MAC备忘录空白解决方案
  • cnn突破七(四层bpnet网络公式与卷积核bpnet公式相关)
  • PHP中的PEAR是什么
  • (C语言贪吃蛇)4.贪吃蛇地图优化及算法说明
  • 国外电商系统开发-运维系统拓扑布局
  • 使用winsock和ip相关指令重置Window网络配置
  • 用AI做电子萌宠,快速涨粉变现
  • 如何在 Axios 中封装事件中心EventEmitter
  • 计算机网络——ftp
  • Redis:set类型
  • 九大排序之插入排序
  • DNABERT: 一个基于 Transformer 双向编码器表征的预训练 DNA 语言模型
  • 基于Hive和Hadoop的电商消费分析系统
  • 记一次炉石传说记牌器 Crash 排查经历
  • 精益驱动的敏捷开发
  • SolidWorks机器转ROS2 URDF
  • (Linux驱动学习 - 6).Linux中断
  • SpringBoot驱动的明星周边产品电商解决方案
  • C++、Ruby和JavaScript
  • 32单片机 低功耗模式
  • 501、二叉搜索树中的众数
  • 【洛谷】P2330 [SCOI2005] 繁忙的都市 的题解
  • 第18场小白入门赛(蓝桥杯)
  • Redission · 可重入锁(Reentrant Lock)
  • 初阶C语言-指针
  • 论文笔记:微表情欺骗检测
  • 智能家居有哪些产品?生活中常见的人工智能有哪些?