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

cygwin c创建动态/静态链接库
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