静态库的制作和使用
Posted zheaven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态库的制作和使用相关的知识,希望对你有一定的参考价值。
静态库的创建和使用
1>.命名规则
lib+库的名字+.a
例子:libmytest.a
2>.制作步骤
a.生成对应的.o文件【.c --> .o】
b.将生成的.a文件打包
ar rcs + 静态库的名字【libmytest.a】 + 生成的所有的.o
3>.发布和使用静态库
a.发布静态库
b.头文件
include--存放头文件
lib--存放库
src--存放源码
演示:
include文件夹下面存放head.h【头文件】
#ifndef __HEAD_H_
#define __HEAD_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
lib下面存放静态库
src下面存放源码
add.c
#include "head.h"
int add(int a, int b)
{
int result = a + b;
return result;
}
div.c
#include "head.h"
int div(int a, int b)
{
int result = a / b;
return result;
}
mul.c
#include "head.h"
int mul(int a, int b)
{
int result = a * b;
return result;
}
sub.c
#include "head.h"
int sub(int a, int b)
{
int result = a - b;
return result;
}
main.c是程序执行入口
#include <stdio.h> #include "head.h" int main(void) { int sum = add(2, 24); printf("sum = %d ", sum); return 0; }
步骤一:生成对应的.o文件【.c --> .o】
gcc *.c -c -I ../include
生成 add.o div.o mul.o sub.o四个二进制文件
默认生成.o文件
步骤二:将生成的.a文件打包
ar rcs libMyCalc.a *.o
将生成的 libMyCalc.a 文件移动到 lib文件夹下
mv libMyCalc.a ../lib
步骤三:发布静态库
方式一:
gcc main.c lib/libMyCalc.a -o sum -Iinclude
方式二:
gcc main.c -Iinclude -L lib -l MyCalc -o mysum
Iinclude 指定头文件
-L 指定静态库文件目录
-l 指定静态库文件名称【摘头去尾之后的名称:libMyCalc.a-->MyCalc】
-o 指定可执行文件名称
步骤四:使用静态库
./mysum
以上是关于静态库的制作和使用的主要内容,如果未能解决你的问题,请参考以下文章