linux的常用操作——静态库
生活随笔
收集整理的這篇文章主要介紹了
linux的常用操作——静态库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.靜態庫的制作
1.1靜態庫的命名
\qquad靜態庫一律使用lib打頭,靜態庫名為:lib+靜態庫的名字+.a。比如:libmylibrary.a,這里面lib和.a是必須要有的。使用nm命令可以查看靜態庫。
nm 靜態庫名1.2靜態庫的制作步驟
\qquad第一步:將.c文件生成.o文件,比如將hello.c轉變為hello.o文件。
gcc -c hello.c -o hello.o\qquad或者
gcc hello.c -c\qquad第二步:使用ar將生成的.o文件打包
ar rcs 靜態庫的名字 生成的所有.o文件1.3發布和使用靜態庫
gcc filename.c 靜態庫的路徑/靜態庫名 -o 可執行文件名 -I 頭文件的路徑\qquad或者
gcc filename.c -I 頭文件路徑 -L 靜態庫路徑 -l 靜態庫名 -o 可執行文件名2.靜態庫的優缺點
2.1靜態庫的優點
\qquad 1.發布的程序,即編譯完成后的可執行文件,不再需要庫函數。
\qquad 2.加載庫的速度快
2.2靜態庫的缺點
\qquad 1.庫被打包到應用程序中,導致應用程序體積變大。
\qquad 2.庫如果發生了改變,需要重新編譯。
3.靜態庫制作實例
這里的靜態庫不包含主函數的.c文件,只是把實現打包成靜態庫,
首先將功能模塊的.c文件編譯為.o文件,
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ gcc -c add.c -o add.o zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ gcc -c mul.c -o mul.o zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ tree . ├── add.c ├── add.o ├── mul.c └── mul.o0 directories, 4 files然后生成靜態庫
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ ar rcs libmylib.a add.o mul.o zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ tree . ├── add.c ├── add.o ├── libmylib.a ├── mul.c └── mul.o0 directories, 5 files總結
以上是生活随笔為你收集整理的linux的常用操作——静态库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络(一)-概述(补充)
- 下一篇: linux的常用操作——用户的添加、删除