cygwin c创建动态/静态链接库

2014-11-24 01:07:49 · 作者: · 浏览: 2
test.c
int num()  
{  
    static int i = 0;  
    return i++;  
}  

main.c
#include "stdio.h"  
  
extern int num();  
  
int main()  
{  
    printf("%d\n", num());  
    printf("%d\n", num());  
    printf("%d\n", num());  
    return 0;  
}  

1.动态链接库
a.gcc -shared -fPIC -o libtest.dll test.c[生成libtest.dll]
b.gcc -o main main.c -L. -ltest[生成main.exe]
c../main.exe
2.静态链接库
a.gcc -c test.c[生成test.o]
b.ar crv libtest.a test.o[生成libtest.a]
c.gcc -o main main.c -L. -ltest[生成main.exe]
d../main.exe