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

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

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

(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;
      }
                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值