Linux下如何创建并使用一个static library

来源:互联网 发布:孤寡老人数据 编辑:程序博客网 时间:2024/06/05 05:12

----------------------------------------------------------------------------------------------------------|

(摘自如下链接处并翻译的了一下)                                                                             |

(http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html)      |

---------------------------------------------------------------------------------------------------------- |

怎样创建一个static library (object code archive file):

  • Compile: cc -Wall -c ctest1.c ctest2.c 
    Compiler options:
    • -Wall: 包含所有warning.  具体的warning定义,请参考 man page.
  • 创建library "libctest.a": ar -cvq libctest.a ctest1.o ctest2.o
  • 查看library中的文件: ar -t libctest.a
  • Linking with the library:
    • cc -o executable-name prog.c libctest.a
    • cc -o executable-name prog.c -L/path/to/library-directory -lctest    (译者注:此种用法,要保证library file是libctest.a的文件名,因为系统自动在ctest前加lib这个词,且附带.a扩展名)
  • 例子文件:
    • ctest1.c
      void ctest1(int *i)
      {
      *i=5;
      }
    • ctest2.c
      void ctest2(int *i)
      {
      *i=100;
      }
    • prog.c
      #include <stdio.h>void ctest1(int *);void ctest2(int *);int main(){   int x;   ctest1(&x);   printf("Valx=%d\n",x);   return 0;}            

0 0