https://www.cnblogs.com/qianxiaoxu/p/11876198.html
/*add.h */
#ifndef _ADD_H_
#define _ADD_H_
int add(int a, int b);
#endif
/*add.c*/
#include "add.h"
int add(int a, int b)
{
return a+b;
}
/*sub.h*/
#ifndef _SUB_H_
#define _SUB_H_
int sub(int a, int b);
#endif
/*sub.c*/
#include "sub.h"
int sub(int a, int b)
{
return a-b;
}
/*main.c*/
#include <stdio.h>
#include "add.h"
#include "sub.h"
int main(void)
{
printf("1 + 2 =%d\n", add(1, 2));
printf("1 - 2 =%d\n", sub(1, 2));
return 0;
}
- gcc编译.c生成文件.o:sub.o ,add.o
gcc -c add.c
gcc -c sub.c
- ar命令-静态函数库创建:
ar -cr libmymath.a sub.o add.o
-c :create的意思
-r :replace的意思,表示当前插入的模块名已经在库中存在,则替换同名的模块。如果若干模块中有一个模块在库中不存在,ar显示一个错误信息,并不替换其他同名的模块。默认的情况下,新的成员增加在库的结尾处。
- 在程序中使用静态库:
gcc main.c -o main -L . -lmymath
图片.png
网友评论