----------------------------------------------------------------------------------------------------------|
(摘自如下链接处并翻译的了一下) |
(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; }
- ctest1.c