日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux的常用操作——静态库

發布時間:2024/7/19 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.靜態庫制作實例

  • 源代碼目錄
  • zhaoxr@zhaoxr-ThinkPad-E450:~/linux$ tree . ├── head │ ├── add.h │ └── mul.h ├── lib │ ├── main.c │ └── mul.c └── source└── add.c3 directories, 5 files
  • 生成靜態庫
  • 這里的靜態庫不包含主函數的.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
  • 生成可執行文件
  • zhaoxr@zhaoxr-ThinkPad-E450:~/linux/source$ gcc main.c ../lib/libmylib.a -o app -I ../head/ zhaoxr@zhaoxr-ThinkPad-E450:~/linux$ tree . ├── head │ ├── add.h │ └── mul.h ├── lib │ ├── add.c │ ├── add.o │ ├── libmylib.a │ ├── mul.c │ └── mul.o └── source├── app└── main.c3 directories, 9 files zhaoxr@zhaoxr-ThinkPad-E450:~/linux/source$ ./app a+b=19,a*b=90

    總結

    以上是生活随笔為你收集整理的linux的常用操作——静态库的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。