linux静态库的打包及链接使用
功能说明:建立或修改备存文件,或是从备存文件中抽取文件。
语 法:ar[-dmpqrtx][cfosSuvV][a《成员文件》][b《成员文件》][i《成员文件》][备存文件][成员文件]
补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
参 数:
指令参数
-d 删除备存文件中的成员文件。
-m 变更成员文件在备存文件中的次序。
-p 显示备存文件中的成员文件内容。
-q 将问家附加在备存文件末端。
-r 将文件插入备存文件中。
-t 显示备存文件中所包含的文件。
-x 自备存文件中取出成员文件。
选项参数
a《成员文件》 将文件插入备存文件中指定的成员文件之后。
b《成员文件》 将文件插入备存文件中指定的成员文件之前。
c 建立备存文件。
f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。
i《成员文件》 将问家插入备存文件中指定的成员文件之前。
o 保留备存文件中文件的日期。
s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。
S 不产生符号表。
u 只将日期较新文件插入备存文件中。
v 程序执行时显示详细的信息。
V 显示版本信息。
静态库打包
ar -cr .a静态库名 .o文件名
例子:make lib
.PHONY: lib
lib_t: src0.o src1.o src2.oar -rc object.a src0.o src1.o src2.oranlib object.a
链接静态库
头文件路径:-I./include/
静态库路径:-L./lib/
静态库名称:-l:object.a
g++ main.o -o a.out -L./lib/ -l:object.a
注:如果静态库a调用静态库b,g++编译命令中a一定要放在b前面
linux静态库的打包及链接使用相关推荐
- 【Linux篇】第十一篇——动静态库(动静态库的介绍+动静态库的打包与使用)
动静态库的基本原理 认识动静态库 动静态库的概念 静态库的打包与使用 静态库的打包 静态库的使用 动态库的打包与使用 动态库的打包 动态库的使用 动静态库的基本原理 动静态库的本质就是可执行程序的&q ...
- Linux下动静态库的打包与使用C C++
目录 前言 为什么用动静态库 动态链接与静态链接 底层优缺点 Linux下的动静态库 动静态库的对比 打包静态库 使用静态库 打包动态库 使用动态库 小结 win下打包动静态库 前言 为什么用动静态库 ...
- Linux 静态库和动态库的生成及使用
1.分文件编程 分模块的编程思想:假设一个项目需要用到网络.超声波.电机,程序不是都杂糅在同一个文件,而是将网络.超声波.电机需要调用的函数写在不同文件里,在主文件中直接调用即可. 好处: a.功能责 ...
- Linux 静态库和共享(动态)库的创建与使用详解
文章目录 Linux 静态库和共享(动态)库 库的介绍 使用库有什么好处 库制作完成后, 如何给用户使用 静态库(static library) 静态库的制作 ar工具创建lib过程 静态库的使用 源 ...
- linux静态库与动态库整理
简化版本 静态库: 制作: gcc -g -c ./*.c -I ../include/ ar crs libmod.a *.o 使用 gcc -g main.c -L ./ -lmod -I ../ ...
- 【Linux静态库和动态库】
Linux静态库和动态库 1. 编译与ELF格式 2. 库的基本概念 3.静态库的制作:(假设要将a.c.b.c制作成静态库) 4.静态库的常见操作 5.静态库的使用 6. 多个库的相互依赖 举例1. ...
- Linux静态库与动态库的相关概念以及编程
一.分模块编程: 当我们在实现一个项目的时候,比如wifi小车,我们会碰到超声波模块,电机模块,wifi模块等模块的开发,这时候,我们可以让不同的小组成员来完成不同的模块,作为项目负责人只需要调用他们 ...
- linux静态库添加文件,Linux静态库和动态库的编写和使用
Linux静态库和动态库的编写和使用 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 1 静态库和动态库的区别 1.1. 静态函数库 (1)静态函数库的名 ...
- Linux静态库和动态库创建与调用
Linux静态库和动态库创建与调用 1. 静态函数库 2. 动态函数库 第1步:编辑得到举例的程序--hello.h.hello.c和main.c: 第2步:将hello.c编译成.o文件: gcc ...
最新文章
- 非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例
- 教授在飞机上做微积分,被当作恐怖分子抓了......
- LA3902 Network (树上dfs)
- 为什么Intel Realsense D435深度摄像头在基于深度的水平方向障碍物检测(避障)方案中,摄像头不宜安装太高?
- Visual Stdio的解决方案资源管理器位置调整
- 创建并运用客户化jsp标签
- OpenSelfSup: Open-MMLab自监督表征学习代码库
- python邮箱配置_python flask mail QQ邮箱配置
- python求最大值代码的方式_python使用分治法实现求解最大值的方法
- 数据库期末总结笔记(零基础)-第三章 关系数据库SQL
- python generator与coroutine
- 核心参数相近 功能表现不同 联发科MT8389与全志A31s多方位PK
- 使用浏览器监控页面变化,语音播报变化内容
- BlackBerry手机应用上网的通道列表
- 基于OLAP的时间维度设计
- 【解锁】Pandoc——Pandoc安装、使用、快速上手
- cpu对计算机性能的影响,雷神告诉你CPU制程对性能的影响有多大?
- 华为云桌面--引领移动办公新潮流
- ChatGPT 大规模封号,并停止注册!
- HTML5的内容模型及页面结构图
热门文章
- MongoDB 索引-9
- 【旧文章搬运】Windows内核常见数据结构(线程相关)
- Microsoft Azure Tutorial: Build your first movie inventory web app with just a few lines of code
- Hibernate-级联操作
- 关于网络流sap算法
- EasyDarwin开源流媒体服务器进行RTSP转发过程中将sdp由文件存储改成内存索引
- tomcat站点配置
- F - 娜娜梦游仙境系列——多民族王国
- flex 鼠标放在组件上变手型
- Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作