gcc ar命令
gcc ar命令gcc ar 可以实现把几个.o与.a打成一个.a吗? ar rcs libtest.a test1.o test2.o test3.o 楼主是把几个.o生成了.a
与我的本意不同 先用AR把那个.a文件解开,然后再重新打包不就可以了吗?
ar -t libtest.a | ar -x libtest.a
ar -rcs *.o 我的命令一样可以办到
[ 本帖最后由 cjaizss 于 2008-5-23 17:22 编辑 ] 楼上的实现不了,还是要先解开,再打包 ........ar连插都不能插,这个命令还有什么用?
实验:
# rm -f *
# cat >1.c
int func1(void){return 1;}
# cat >2.c
int func2(void){return 2;}
# cat >3.c
int func3(void){return 3;}
# gcc -c *.c
# ar rcs libtest.a 1.o 2.o
# nm libtest.a
1.o:
00000000 T func1
00000000 t gcc2_compiled.
2.o:
00000000 T func2
00000000 t gcc2_compiled.
# rm -f *.c 1.o 2.o
# ar rcs libtest.a 3.o
# nm libtest.a
1.o:
00000000 T func1
00000000 t gcc2_compiled.
2.o:
00000000 T func2
00000000 t gcc2_compiled.
3.o:
00000000 T func3
00000000 t gcc2_compiled.
楼上的正确,是我看错了
可以把.o放到库里面去
其实我的目的是想:如何实现几个库连成一个库
例如:ar -rcs test.alib1.a lib2.a lib3.a
lib1.a lib2.a lib3.a打成一个包test.a
[ 本帖最后由 99lingbo 于 2008-7-9 11:30 编辑 ]
回复 #8 99lingbo 的帖子
那只有写个shell了OBJ=
for i in lib1.a lib2.a lib3.a
do
ar x $i
OBJ=$OBJ `ar t $i`
done
ar rcs libtest.a $OBJ
rm -f $OBJ 另外,检验一个事的真伪不是靠想当然的,而是靠实验。
页:
[1]
2