码迷,mamicode.com
首页 > 系统相关 > 详细

linux应用开发-设计静态库

时间:2015-04-27 09:58:03      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:linux      gcc   

linux应用开发-设计静态库
一 应用程序


函数库(用户)和系统调用(linux内核)


二 库分类


1 静态链接库(*.a)


一个程序使用一个函数库


2 动态链接库(*.so)


多个程序可以使用同一个函数库,减少程序的大小


3 静态库比动态库大


三 制作自己的静态库


1 gcc -c mylib.c -o mylib.o


2 ar cqs libmylib.a mylib.o


3 将做好的libmylib.a 复制到/usr/lib目录下


四 使用自己创建的静态库


1 linux默认链接动态库,若要链接静态库则:gcc -static hello.c -o helloc.out


2 使用自己的动态库:


创建main.c来调用自己的库


创建main.h里面包含了要调用的函数库里面的函数的原型声明


编译调用gcc -static -lmylib main.c -o main.out -l参数为调用自己的lib


GCC在链接时,默认只会链接C函数库,而对于其他的函数库,则需要使用-l选项来显示地指明需要链接。 


linux目录/usr/lib和/lib下存放了相应的lib,常用libmylib.a来命名,前面的lib必须加上


五 简单加法计算器案列


1 编写add.c


2 编译成静态库:gcc -c add.c -o add.o      ar cqs libadd.a add.o


3 复制到/usr/lib: cp libadd.a /usr/lib/


4 创建main.c来作为主函数调用add函数 创建main.h来包含add函数的声明 


5 编译调试:gcc -static -ladd main.c -o main.out


6 运行./main.out

linux应用开发-设计静态库

标签:linux      gcc   

原文地址:http://blog.csdn.net/qq_22075977/article/details/45292163

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!