美文网首页
linux:创建静态库

linux:创建静态库

作者: fck_13 | 来源:发表于2020-05-13 10:26 被阅读0次

先准备源码文件:
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

相关文章

网友评论

      本文标题:linux:创建静态库

      本文链接:https://www.haomeiwen.com/subject/hgbgnhtx.html