静态、动态库的创建使用与makefile配置文件的编写
来源:互联网 发布:淘宝新店铺怎样排前 编辑:程序博客网 时间:2024/06/07 07:22
静态库的创建
①gcc -c 源文件.c //产生目标文件
②ar rcs 静态库名(lib··.a) 目标文件1 目标文件2 ····
rs:静态库不存在,就创建该文件;
S:更新库文件;
静态库的使用
gcc -o file file.c -L. -lname
file:名字 file.c:主函数 name:静态库名中的名字
ar -t libname.a 列出库中有哪些库文件
ar -d libname.a add.o 把指定文件add.o删除
ar -dv libname.a add.o 能给出出错提示
ar -x(v) libname.a 文件 从指令库中把文件提取出来(复制文件)
例:add():int add (int a,int b)
{
return a+b;
}
sub():int sub (int a,int b)
{
return a-b;
}
mul():int mul (int a,int b)
{
return a*b;
}
div():int div(int a,int b)
{
return a/b;
}
main():#include <stdio.h>
int main(void)
{
int a,b;
scanf("%d %d",&a,&b);
printf("add a and b is %d.\n",add(a,b));
printf("sub a and b is %d.\n",sub(a,b));
printf("mul a and b is %d.\n",mul(a,b));
printf("div a and b is %d.\n",div(a,b));
return 0;
}
①gcc -c add.c sub.c div.c mul.c
生成 add.o sub.o div.o mul.o
②ar rcs libmain.a add.o sub.o div.o mul.o
生成 libmain.a文件
③gcc -o four main.c -L. -lmain
生成 four最终可执行的文件
动态库的创建
gcc -shared -fPIC -o 库名.so 源文件.c
动态库的使用
gcc 源文件.c ./库名.So -o 可执行文件名
例:上面程序
①gcc -shared -fPIC -o libmain.so add.c sub.c div.c mul.c
生成 libmain.so文件
②gcc main.c ./libmain.so -o main
生成可执行文件 main
工程管理器make
makefile配置文件的编写规则:
①需要由make工具创建的目标体,目标文件或可执行文件;
②创建的目标体所依赖的文件;
③创建每个目标体时运行的命令,所有命令以制表符(tab键)开始;
makfile格式:
target:dependency_files
<tab键>command
例:上面程序
①终端中输入vim makefile编写makefile文件
法一:
main:add.o sub.o mul.o div.o main.o
gcc -o main add.o sub.o mul.o div.o main.o
add.o:add.c
Gcc -c add.c
sub.o:sub.c
gcc -c sub.c
mul.o:mul.c
gcc -c mul.c
div.o:div.c
gcc -c div.c
main.o:main.c
gcc -c main.c
法二:
main:add.c sub.c mul.c div.c main.c
gcc -o main add.c sub.c mul.c div.c main.c
②保存退出后,直接打make执行
伪命令:
.PHONY: clean //伪指令的声明
clean:
rm-f hello main.o func1 func2 ···
例:
Install:
mkdir ./tmp
mv *.o ./tmp
mv main ./tmp
创建一个目录tmp,将生成的.o 文件放入tmp目录中,然后将可执行文件也放入tmp目录中。
- 静态、动态库的创建使用与makefile配置文件的编写
- Makefile关于动态库与静态库的编写技巧
- 静态库的创建和编写makefile
- 简单静态库与动态库的创建以及Makefile基本使用
- Linux动态库与静态库以及简单makefile的编写
- linux 生成和使用动态链接库和静态链接库的Makefile编写
- linux 生成和使用动态链接库和静态链接库的Makefile编写
- linux 生成和使用动态链接库和静态链接库的Makefile编写
- linux 生成和使用动态链接库和静态链接库的Makefile编写
- 静态库与动态库的创建与使用
- 静态库与动态库的创建与使用
- 使用Automake生成Makefile及动态库和静态库的创建
- Linux静态库和动态库的创建与使用
- 静态库与动态库的创建和使用
- linux---静态库与动态库的创建、生成、使用
- 动态库与静态库的创建
- Makefile 动态库与静态库的引用示例
- 通用Makefile的编写和在项目工程中使用Makefile(包括动态库、静态库的链接、整个工程联合编译)
- Java考试题之十
- C++标准库函数swap的用法
- vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析
- hive的功能架构
- 欢迎使用CSDN-markdown编辑器
- 静态、动态库的创建使用与makefile配置文件的编写
- 概率图模型-原理与技术 第三章 贝叶斯网表示 学习笔记(一)
- 概率图模型-原理与技术 第三章 贝叶斯网表示 学习笔记(二)
- android开发的方向
- 搜狐狐友怎样查看朋友圈
- 概率图模型-原理与技术 第三章 贝叶斯网表示 习题与编程
- [POJ2104/HDU2665]Kth Number-主席树-可持久化线段树
- 网络编程 - boost::asio优雅的退出
- Android_APP 常用图标尺寸规范