Linux静态库和动态库的设计
靜態庫和動態庫的設計
宗旨:技術的學習是有限的,分享的精神是無限的。
Linux應用程序設計中需要的外部函數主要由函數庫和系統調用來提供
Linux應用程序使用的主要函數庫均存放于/lib, /usr/lib目錄下,其中采用*.so.*方式命名的是動態函數庫,而以*.a方式命令的是靜態函數庫(空間占據大)
Linux下進行鏈接時 默認是鏈接動態庫
1、制作靜態庫
?????? (1).gcc -c mylib.c -o mylib.o
?????? (2).ar cqs libmylib.a mylib.o
?????? (3).將制作好的libmylib.a復制到/usr/lib
?????? (4).GCC在鏈接時,默認只會鏈接C函數庫,而對于其他的函數庫,則需要使用-l選項來顯示地指明需要鏈接。例:gcc test.c –lmylib -o test
?
2、制作動態庫
?????? (1).gcc -c mylib.c -o mylib.o
?????? (2).ar -shared -fPIC mylib.o -olibmylib.so
?????? (3).將制作好的libmylib.so復制到/usr/lib
?????? -fpic 使輸出的對象模塊是按照可重定位地址方式生成的。
?????? -shared 指明產生動態鏈接庫
?????? (4).GCC在鏈接時,默認只會鏈接C函數庫,而對于其他的函數庫,則需要使用-l選項來顯示地指明需要鏈接。例:gcc test.c –lmylib -o test
?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux静态库和动态库的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: net.conn read 判断数据读取
- 下一篇: 双物块弹簧阻尼系统模型,李雅普诺夫稳定性