博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
链接详解--静态库
阅读量:6914 次
发布时间:2019-06-27

本文共 538 字,大约阅读时间需要 1 分钟。

库文件名都是以lib开头的,静态库以a作为后缀,表示archive。

创建静态库:

ar rs libstack.a stack.o push.o pop.o is_empty.o

ar把目标文件打包成静态库;

r表示将后面的文件列表添加到文件包,若果文件包不存在就创建它;

s是专用于生成静态库的,表示为静态库创建索引,这个索引被连接器使用。

ranlib命令也可以为静态库创建索引。

ar r libstack.a stack.o push.o pop.o is_empty.o

ranlib libstack.a

 

使用静态库:

gcc main.c -L. -lstack -Istack -o main

-L告诉编译器去哪里找需要的库文件,-L.表示在当前目录找。

-lstack告诉编译器链接libstack库。

-I告诉编译器去哪里找头文件。

注:即使库文件就在当前目录,编译器默认也不会去找的。所以-L.不可少。

     编译器默认的查找目录可用-print-search-dirs选项查看。

 

注:编译器链接时优选动态库,动态库找不到时才链接静态库,如果希望编译器只链接静态库,可以指定-static选项。

 

使用静态库一个好处:连接器可以从静态库中只取需要的部分来链接。

转载地址:http://dhncl.baihongyu.com/

你可能感兴趣的文章
IT从业人员关注哪些问题
查看>>
Windows 2012 Hyper –V 3.0 New Functions
查看>>
maven部分插件配置demo
查看>>
Grin交易原理详解
查看>>
大数据体系【概念认知】系列-2:存储以及副本策略
查看>>
我的友情链接
查看>>
linux企业常用服务---haproxy+nginx搭建web高可用集群
查看>>
win7 断开 共享连接的操作方法
查看>>
CTSSD服务无法正常启动:Failure 4 in trying to open SV key PROCL-4/PROCL-5 clsctss_r_av2
查看>>
再议OPEN CURSOR与BULK COLLECT
查看>>
我的友情链接
查看>>
jquery attr与prop
查看>>
casatwy组件化方案
查看>>
Linux中ls对文件进行按大小排序和按时间排序
查看>>
Unix/Linux下安装NPM
查看>>
Apache与Tomcat区别联系
查看>>
洪水***源码
查看>>
用shell编写批量打包日志脚本
查看>>
nginx访问白屏
查看>>
Pentaho6.1中D3可视化库的集成及数据联动的实现
查看>>