linux下构建静态库的方法

来源:互联网 发布:rameses b 知乎 编辑:程序博客网 时间:2024/05/18 22:17

1.编写.c 和.h 文件

我写了4个

add.c

#include "add.h"int add(int a,int b){return a+b;}


add.h

#ifndef __ADD_H__#define __ADD_H__int add(int, int);#endif


sub.c

#include"sub.h"int sub(int a,int b){return a-b;}


sub.h

#ifndef __SUB_H__#define __SUB_H__int sub(int, int);#endif
2)编译成目标文件:gcc -c xxx.c -> xxx.o

3)编译成目标文件:gcc -c xxx.c -> xxx.o

ar libmath.a add.o sub.o


4)4)调用静态库
$ gcc main.c libmath.a (直接法)
$ gcc main.c -lmath -L. (参数法)
$ export LIBRARY_PATH=$LIBRARY_PeATH:.
$ gcc main.c -lmath (环境法)
为了使环境的设置持久化,把设置环境变量
的命令发到~/.bash_profile中。









nm a.out

T表示函数在内部定义的,没有调用,所以是静态库而不是动态库



0 0