gcc ar命令

发布于 2022-09-18 23:37:30 字数 42 浏览 15 评论 0

gcc ar命令
gcc ar 可以实现把几个.o与.a打成一个.a吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

月朦胧 2022-09-25 23:37:30

ar rcs libtest.a test1.o test2.o test3.o

热情消退 2022-09-25 23:37:30

楼主是把几个.o生成了.a
与我的本意不同

如何视而不见 2022-09-25 23:37:30

先用AR把那个.a文件解开,然后再重新打包不就可以了吗?
ar -t libtest.a | ar -x libtest.a
ar -rcs *.o

奶茶白久 2022-09-25 23:37:30

我的命令一样可以办到

[ 本帖最后由 cjaizss 于 2008-5-23 17:22 编辑 ]

笙痞 2022-09-25 23:37:30

楼上的实现不了,还是要先解开,再打包

郁金香雨 2022-09-25 23:37:30

........ar连插都不能插,这个命令还有什么用?
实验:

  1. [root@SRUCAU A]# rm -f *
  2. [root@SRUCAU A]# cat >1.c
  3. int func1(void){return 1;}
  4. [root@SRUCAU A]# cat >2.c
  5. int func2(void){return 2;}
  6. [root@SRUCAU A]# cat >3.c
  7. int func3(void){return 3;}
  8. [root@SRUCAU A]# gcc -c *.c
  9. [root@SRUCAU A]# ar rcs libtest.a 1.o 2.o
  10. [root@SRUCAU A]# nm libtest.a
  11. 1.o:
  12. 00000000 T func1
  13. 00000000 t gcc2_compiled.
  14. 2.o:
  15. 00000000 T func2
  16. 00000000 t gcc2_compiled.
  17. [root@SRUCAU A]# rm -f *.c 1.o 2.o
  18. [root@SRUCAU A]# ar rcs libtest.a 3.o
  19. [root@SRUCAU A]# nm libtest.a
  20. 1.o:
  21. 00000000 T func1
  22. 00000000 t gcc2_compiled.
  23. 2.o:
  24. 00000000 T func2
  25. 00000000 t gcc2_compiled.
  26. 3.o:
  27. 00000000 T func3
  28. 00000000 t gcc2_compiled.

复制代码

猥琐帝 2022-09-25 23:37:30

楼上的正确,是我看错了
可以把.o放到库里面去

其实我的目的是想:如何实现几个库连成一个库
例如:ar -rcs test.a  lib1.a lib2.a lib3.a
lib1.a lib2.a lib3.a打成一个包test.a

[ 本帖最后由 99lingbo 于 2008-7-9 11:30 编辑 ]

烂人 2022-09-25 23:37:30

那只有写个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

萌能量女王 2022-09-25 23:37:30

另外,检验一个事的真伪不是靠想当然的,而是靠实验。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文