文 章 目 录
- 一、静 态 库
-
- 1、背 景
- 2、原 理
- 3、静 态 库 的 流 程
-
- (1)编 写 者
- (2)使 用 者
- (3)简 化 gcc 编 译 选 项
- (4)myerrno 问 题
- (5)结 论
- 二、动 静 态 库
-
- 1、编 写 者
- 2、使 用 者
- 3、加 载 找 不 到 动 态 库
- 三、总 结
💻作 者 简 介:曾 与 你 一 样 迷 茫,现 以 经 验 助 你 入 门 Linux。 💡个 人 主 页:@笑口常开xpr 的 个 人 主 页 📚系 列 专 栏:Linux 探 索 之 旅:从 命 令 行 到 系 统 内 核 ✨代 码 趣 语:静 态 库 是 装 满 工 具 的 箱 子,编 译 时 全 塞 程 序,方 便 但 沉;动 态 库 是 共 享 架,记 位 置,没 工 具 就 卡 壳。 💪代 码 千 行,始 于 坚 持,每 日 敲 码,进 阶 编 程 之 路。 📦gitee 链 接:gitee
在 Linux C/C++ 开 发 中,库 是 代 码 复 用 和 工 程 化 的 核 心。不 少 开 发 者 会 遇 到 源 码 泄 露、编 译 “找 不 到 头 文 件 / 库”、动 态 库 运 行 加 载 失 败 等 问 题,本 质 是 对 库 的 流 程 不 熟 悉。本 文 从 背 景 切 入,先 讲 静 态 库 的 原 理、制 作 与 使 用,再 讲 动 态 库 的 实 战 技 巧,帮 你 掌 握 库 的 全 流 程 应 用。
一、静 态 库
1、背 景
设 计 一 个 静 态 库 并 将 已 经 写 好 的 代 码 给 别 人 用。有 两 种 方 法:
libxxx.a – – – 静 态 链 接 libxxx.so – – – 动 态 链 接
2、原 理

3、静 态 库 的 流 程
(1)编 写 者
mymath.h
#pragma once
#include<stdio.h>
extern int myerrno;
int add(int x,int y);
int sub(int x,int y);
int mul(int x,int y);
int div(int x,int y);
mymath.c
#include\”mymath.h\”
int myerrno = 0;
int add(int x,int y)
{
return x + y;
}
int sub(int x,int y)
{
return x – y;
}
int mul(int x,int y)
{
return x * y;
}
int div(int x,int y)
{
if(y == 0)
{
myerrno = 1;
return –1;
}
return x / y;
}
makefile



