Linux的文件操作中的静态库的制作

Linux操作系统支持的函数库分为:

静态库,libxxx.a,在编译时就将库编译进可执行程序中。

优点:程序的运行环境中不需要外部的函数库。

缺点:可执行程序大 (因为需要 编译)

动态库,又称共享库,libxxx.so,在运行时将库加载到可执行程序中。

优点:可执行程序小。

缺点:程序的运行环境中必须提供相应的库。

静态库的制作

1.生成目标文件:gcc -c file.c .o

2.静态函数库创建命令ar

ar -cr libfile.a file.o

-c: create的意思

-r:replace的意思表示当插入的模块file.o已经存在libfile.a中,则覆盖。反之ar显示一个错误消息。

操作静态库的几个实例:

情况1: 如果从别处得到一个静态库libunknown.a,想知道其中包含哪些模块。 命令:ar -t libunknown.a

静态库的编译:gcc -o main main.c -L. -lfile编译main.c就会把静态函数库整合进main。

其中: -L指定静态函数库的位置供查找,注意L后面还有'.',表示静态函数库在本目录下查找。 -l则指定了静态函数库名,由于静态函数库的命名方式是lib***.a,其中的lib和.a忽略。 删除libaddsub.a后main依然可以运行,因为静态库的内容已经整合进去了。

相关推荐
ltl7 小时前
大多数「无锁」代码其实不是无锁的
linux
ltl7 小时前
Linux 内核的内存屏障:一个让我调了三天的 bug
linux
Lonely 净土9 小时前
Rocky Linux 安装教程
linux·运维·服务器
李白你好13 小时前
Windows 离线 Linux 提权辅助查询工具
linux
Lust Dusk14 小时前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全
ShineWinsu14 小时前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl
千千寰宇14 小时前
[Linux/Ollama] Termux : 一款运行在 Android 平台上的开源终端模拟器与 Linux 环境应用、支持在手机上基于Ollama部署LLM
linux
lingran__16 小时前
Linux 基础常用指令万字详解(上)|文件目录命令,结合底层原理剖析
linux·运维·服务器·后端·centos·linux基础指令
Dlrb121117 小时前
Linux驱动---sys文件系统自动添加设备节点、添加调试节点以及MISC设备驱动的解释
linux·imx6ull·misc·设备节点·sys文件系统
刘某的Cloud18 小时前
Galera Cluster mariadb 生产环境常见问题排查与运维指南
linux·运维·数据库·mariadb·集群高可用