永发信息网

Linux makefile&shell的一个问题

答案:3  悬赏:40  手机版
解决时间 2021-02-10 03:46
OBJ = abc.o

abc.a:$(OBJ)
ar crv abc.a $(OBJ)

请问这里做的这个动作产生了个.a文件是做什么用的?ar crv是什么意思。
是否有系统的文档介绍这些内容呢?
新手问题,谢谢大家
最佳答案
ar 命令是用来将若干 .o 文件打包成(静态)库文件。 按照习惯,库文件后缀名都是 .a

crv 分别是 ar 命令的三个参数,cr的意思是创建指定.a文件(如果不存在),并将.o文件加入到这个.a文件中。 v 的意思是让 ar 命令在执行的时候打印更多的提示信息。

ar crv abc.a $(OBJ) 就是将 abc.o 打包到库文件 abc.a 中的意思。

更多信息可以 man ar 来看到。
全部回答

我不是高手哈写了一个你试试:

vpath sum.o sum

vpath sum.h sum

vpath minus.h minus

vpath minus.o minus

vpath multi.h multi

vpath multi.o multi

vpath divide.h divide

vpath divide.o divide

test:main.o sum/sum.o minus/minus.o multi/multi.o divide/divide.o

(tab)    gcc -o $@ main.o sum/sum.o minus/minus.o multi/multi.o divide/divide.o

main.o:main.c  sum.h minus.h multi.h divide.h

(tab)    gcc -c $< -i  sum  -i minus -i multi -i divide

程序运行的时候依赖库文件。 库文件分为.so的动态库和.a的静态库。动态库优点是,减少了程序占用的空间。而静态库则相反。 man ar可以得到更多信息。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
当用EDTA测定金属离子M时,存在干扰离子N,什么
“白”和“光”组合在一起时什么字?
转转游戏出租立即下单怎么没有的选择多长时间
红蜻蜓练歌厅地址在哪,我要去那里办事
黑执事2结局夏尔掉海里384明明可以趁机杀啦夏
阿萨帝KTV(昌盛街店)地址在什么地方,想过去
江岸区幸福社区养老院地址有知道的么?有点事
兄弟焊接地址在什么地方,想过去办事
淄川鬼谷洞好玩吗?里面都有什么?进去还要另
海里白色的,可以做成手串的是什么东西?
鲁迅三兄弟为什么分开?
情雨歌厅地址在什么地方,我要处理点事
栀子和枳子是一种东西么
关于外门的表述,哪一条错误?[1995-106,19
鄢陵县天泽种植农民专业合作社这个地址在什么
推荐资讯
一个女团的舞蹈 歌曲背景是《火》 好像有个女
公积金贷款可以异地跨省使用吗?
发展地址好找么,我有些事要过去
英语中哪些单词,,有“前有do后无to,前无do
怎么知道自己买来的棒女郎产品是真是假?
车险己投保平安,会发短信让客户确认吗
上厂在什么地方啊,我要过去处理事情
普奈斯洗衣(黄河路)地址好找么,我有些事要过
农民专业合作社资金互助怎么核算
刚才躺着吃口香糖不慎咽了下去 现在嗓子有异
一列横波在x轴上传播.ts 时刻与s时刻在x轴上-
—Have you finished your report yet? —No,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?