linux:创建静态库

2020-05-13  本文已影响0人  fck_13

先准备源码文件:
calc.h

#ifndef _CALC_H_
#define _CALC_H_

int add(int a, int b);

int sub(int a, int b);

int mul(int a, int b);

int div(int a, int b);

#endif

calc.c

#include "calc.h"

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

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

int mul(int a, int b){
    return a*b;
}

int div(int a, int b){
    return a/b;
}

main.c

#include <stdio.h>
#include "calc.h"

int main(){
    int c = add(1,4);
    printf("%d\n", c);
    return 0;
}
  1. 生成.o文件
    执行命令
gcc -c calc.o calc.c

参数-c的含义是只进行编译,不进行链接。

  1. .o文件生成.a文件,静态库的后缀名为.a
    执行命令
ar rcs libcalc.a calc.o

ar命令的详解请参考 ar (Linux的命令)

  1. 使用静态库
gcc -o main main.c libcalc.a 

除了这种写法,还有一种方法

gcc -o main main.c -L. –lcalc

-L指定要使用的静态库的所在目录。
-l用来指定静态库的名称,名称之前的lib和之后的后缀名是可以省略掉的。
在源文件同目录下会生成一个main文件,命令行执行./main,得到结果为5

上一篇 下一篇

猜你喜欢

热点阅读