Linux静态库使用

头文件

//没有通过宏判断头文件是否已经引用过

int add(int a,int b);

int sub(int a,int b);

源文件(静态库)

#include "static_lib.h"


int add(int a,int b)
{
    return a + b;
}

int sub(int a,int b)
{
    return a - b;
}

主文件

#include <stdio.h>
#include <stdlib.h>
#include "static_lib.h"

int main(int argc,char *argv[])
{
   int a = 30;
   int b = 10;
   int sum = add(a,b);
   printf("sum=%d\n",sum);

   int result = sub(a,b);
   printf("result=%d\n",result);

   return 0;
}

编译

#编译静态库文件 
gcc -c static_lib.c
#生成静态库文件
ar rcs static_lib static_lib.o
#编译主文件
gcc -c mylib.c
#生成目标程序
gcc -o mylib2 mylib.o -L. -lstatic

总结

在Linux系统,使用静态库也是很简单的,至于动态库在Linux上成为共享库,可以去 linux学习笔记5-共享库
秋风 2017-03-21