静态库命令之间的区别

时间:2011-07-13 07:16:36

标签: gcc static-libraries

       ar crf library.a file1.o file2.o 
       ar rvs library.a.a file1.o file2.o
       ar rs liblprprint.a lpr_print.o
       ar rcs library.a file1.o file2.o  

实际上我已经搜索过静态库了,我发现这4个命令可用于在gcc中创建一个静态库。在之前的stackoverflow答案中搜索了2个。我想知道的是,是这4个命令有什么区别吗?他们在任何方面创建静态库都有所不同。因为我们可以按照一个命令来创建静态库,但为什么我们有4个命令来创建静态库。这些让我相信所有4个命令之间一定有区别。我在google上尝试了但是他们给出了命令但我没有发现它们之间的差异。所以有人知道为什么我们在创建时有4个命令可以工作一个静态库?它们之间会有什么区别?我的意思是rs,rcs,rvs,为什么我们有它们?

1 个答案:

答案 0 :(得分:3)

来自man ar

 -c       Suppresses the diagnostic message that  is  written
          to  standard  error  by  default  when  archive  is
          created.

 -r       Replaces or adds files in archive. If archive  does
          not  exist,  a  new  archive  file is created.

 -v       Gives verbose output. When used  with  options  -d,
          -r,  or  -x,  the -v option writes a detailed file-
          by-file description of the archive creation and the
          constituent  files,  and maintenance activity.

 -s       Forces the regeneration of the archive symbol table
          even  if ar is not invoked with an option that will
          modify the archive contents.