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依然可以运行,因为静态库的内容已经整合进去了。

相关推荐
会飞的土拨鼠呀5 小时前
Linux的存储使用率应该如何计算
linux·运维·服务器
weixin_511255216 小时前
NGINX常用配置
linux·服务器·nginx
昌原的儿子LEO7 小时前
进程和线程(2)
linux·服务器·网络
会飞的土拨鼠呀8 小时前
Linux 真实内存使用率的核心计算标准
linux·运维·服务器
陈年老古董9 小时前
CentOS编译安装Python3.11完整教程
linux·笔记·学习·centos·python3.11
深念Y9 小时前
为什么选 Go:直观、可维护、AI 友好
linux·开发语言·人工智能·golang·agent·harness
笨笨饿9 小时前
#111_关于FreeRTOS面试的一些题目
linux·ubuntu·面试·职场和发展·centos·rtos
当代红领巾9 小时前
VMware 里装好 Linux 系统没有 ipv4 地址?
linux·运维·服务器
老当益壮梁奶奶10 小时前
Linux 软件编程学习笔记(六):线程编程入门与实践
linux·c语言·c++·笔记·学习
2401_8685347810 小时前
运维工程师大厂 Nginx 面试题(二)
linux·网络协议