C++静态库与动态库(转)
aaarticlea/png;base64,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" alt="" />
- 预处理阶段:预处理器根据以字符#开头的命令,修改原始的C程序,将源代码插入到程序文本中,得到另一个C程序,通常以.i作为文件扩展名
- 编译阶段:编译器ccl将文本文件hello.i翻译成文本文件hello.s,包含一个汇编语言程序
- 汇编阶段:汇编器as将hello.s翻译成机器语言指令,把这些指令打包成可重定向目标程序(relocatable object program)格式,并将结果保存在目标文件hello.o中,hello.o文件是一个二进制文件,字节编码是机器语言指令,不是字符
- 链接阶段:hello程序调用printf函数,printf函数存在于一个名为printf.o的单独预编译好的目标文件中,这个文件必须以某个方式合并到hello.o中,链接器ld负责处理这种合并。结果生成可执行目标文件,可以被加载到内存中,由系统执行。
aaarticlea/png;base64,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" alt="" />
静态库
之所以成为【静态库】,是因为在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中。
创建静态库过程
Linux下创建与使用静态库
Linux静态库命名规则
Linux静态库命名规范,必须是"lib[your_library_name].a":lib为前缀,中间是静态库名,扩展名为.a。
创建静态库(.a)
通过上面的流程可以知道,Linux创建静态库过程如下:
1、首先,将代码文件编译成目标文件.o
//头文件head.h
int head(char *s); //源文件head.c #include <stdio.h>
#include "head.h" int head(char *s)
{
printf("%s\n",s);
return 0;
} //编译生成目标文件
gcc -c head.c //使用ar打包成静态库
[root@typhoeus79 ice_test_m head]# ar -crv libhead.a ./head.o
r - ./head.o
ar帮助
NAME
ar - create, modify, and extract from archives SYNOPSIS
ar [-X32_64] [-]p[mod [relpos] [count]] archive [member...] c 生成一个archive
r Insert the files member... into archive
v This modifier requests the verbose version of an operation. Many operations display additional information, such as filenames processed, when the modifier v is appended.
使用libhead.a进行测试
//test.c源码
#include "head.h" int main()
{
head("Hello world");
} gcc -o test ./test.c -I ./head/ -L ./head/ -lhead -I 表示include对应的头文件目录
-L:表示要连接的库所在目录
-l:指定链接时需要的动态库,编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.a或.so来确定库的名称。 测试结果:
[root@typhoeus79 ice_test_m 20140616]# gcc -o test ./test.c -I ./head/ -L ./head/ -lhead
You have new mail in /var/spool/mail/root
[root@typhoeus79 ice_test_m 20140616]# ./test
Hello world
为什么还需要动态库?
1、空间浪费是静态库的一个问题
2、另一个问题是静态库对程序的更新、部署和发布页会带来麻烦。如果静态库liba.lib更新了,所以使用它的应用程序都需要重新编译、发布给用户
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入。不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例,规避了空间浪费问题。动态库在程序运行是才被载入,也解决了静态库对程序的更新、部署和发布页会带来麻烦。用户只需要更新动态库即可,增量更新。
动态库特点总结:
1、动态库把对一些库函数的链接载入推迟到程序运行的时期。
2、可以实现进程之间的资源共享。(因此动态库也称为共享库)
3、将一些程序升级变得简单。
4、甚至可以真正做到链接载入完全由程序员在程序代码中控制(显示调用)。
与创建静态库不同的是,不需要打包工具(ar、lib.exe),直接使用编译器即可创建动态库。
Linux下创建与使用动态库
linux动态库的命名规则
动态链接库的名字形式为 libxxx.so,前缀是lib,后缀名为“.so”。
1、针对于实际库文件,每个共享库都有个特殊的名字“soname”。在程序启动后,程序通过这个名字来告诉动态加载器该载入哪个共享库。
2、在文件系统中,soname仅是一个链接到实际动态库的链接。对于动态库而言,每个库实际上都有另一个名字给编译器来用。它是一个指向实际库镜像文件的链接文件(lib+soname+.so)
创建动态库(.so)
1、生成目标文件,此时要加编译器选项-fpic
gcc -fPIC -c ./head.c
-fPIC 创建与地址无关的编译程序(pic,position independent code),是为了能够在多个应用程序间共享
2、生成动态库,此时要加链接器选项-shared
[root@typhoeus79 ice_test_m head]# gcc -shared -o libhead.so ./head.o
You have new mail in /var/spool/mail/root
[root@typhoeus79 ice_test_m head]# ll
总计 20
-rw-r--r-- 1 root root 96 06-16 13:58 head.c
-rw-r--r-- 1 root root 19 06-16 13:53 head.h
-rw-r--r-- 1 root root 1408 06-16 14:25 head.o
-rwxr-xr-x 1 root root 5723 06-16 14:26 libhead.so -shared指定生成动态链接库
两步可以合并成一条:
[root@typhoeus79 ice_test_m head]# gcc -fPIC -shared -o libhead.so ./head.c
[root@typhoeus79 ice_test_m head]# ll
总计 20
-rw-r--r-- 1 root root 96 06-16 13:58 head.c
-rw-r--r-- 1 root root 19 06-16 13:53 head.h
-rw-r--r-- 1 root root 1408 06-16 14:25 head.o
-rwxr-xr-x 1 root root 5723 06-16 14:28 libhead.so
使用动态库
测试代码和上面一样:
[root@typhoeus79 ice_test_m 20140616]# more test.c
#include "head.h" int main()
{
head("Hello world");
}
引用动态库编译成可执行文件:
[root@typhoeus79 ice_test_m 20140616]# gcc -o test ./test.c -I ./head -L ./head/ -lhead
You have new mail in /var/spool/mail/root
[root@typhoeus79 ice_test_m 20140616]# ./test
./test: error while loading shared libraries: libhead.so: cannot open shared object file: No such file or directory
在执行的时候是如何定位共享库文件的呢?
1、当系统加载可执行代码时候,能够知道其所依赖的库的名字,但是还需要知道绝对路径。此时就需要系统动态载入器(dynamic linker/loader)。
2、对于elf格式的可执行程序,是由ld-linux.so*来完成的,它先后搜索elf文件的 DT_RPATH段—环境变量LD_LIBRARY_PATH—/etc/ld.so.cache文件列表—/lib/,/usr/lib 目录找到库文件后将其载入内存。
如何让系统能够找到它?
1、 如果安装在/lib或者/usr/lib下,那么ld默认能够找到,无需其他操作
2、 如果安装在其他目录,需要将其添加到/etc/ld.so.cache文件中,步骤如下:
- 编辑/etc/ld.so.conf文件,加入库文件所在目录的路径
- 运行ldconfig ,该命令会重建/etc/ld.so.cache文件
我们将创建的动态库复制到/usr/lib下面,然后运行测试程序:
[root@typhoeus79 ice_test_m 20140616]# gcc -o test test.c -I ./head -L ./head/ -lhead
[root@typhoeus79 ice_test_m 20140616]# ll
总计 20
drwxr-xr-x 2 root root 4096 06-16 14:28 head
drwxr-xr-x 3 root root 4096 06-16 14:22 static
-rwxr-xr-x 1 root root 6937 06-16 14:37 test
-rw-r--r-- 1 root root 59 06-16 13:58 test.c
[root@typhoeus79 ice_test_m 20140616]# ldd test
linux-vdso.so.1 => (0x00007fff6cfff000)
libhead.so => /usr/local/lib/libhead.so (0x00007f3ba5cb9000)
libc.so.6 => /lib64/libc.so.6 (0x0000003bb3600000)
/lib64/ld-linux-x86-64.so.2 (0x0000003bb3200000)
[root@typhoeus79 ice_test_m 20140616]# ./test
Hello world
附件:Linux下库相关命令
g++(gcc)编译选项
l -shared :指定生成动态链接库。
l -static :指定生成静态链接库。
l -fPIC :表示编译为位置独立的代码,用于编译共享库。目标文件需要创建成位置无关码, 念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方。
l -L. :表示要连接的库所在的目录。
l -l:指定链接时需要的动态库。编译器查找动态连接库时有隐含的命名规则,即在给出的名字前面加上lib,后面加上.a/.so来确定库的名称。
l -Wall :生成所有警告信息。
l -ggdb :此选项将尽可能的生成gdb 的可以使用的调试信息。
l -g :编译器在编译的时候产生调试信息。
l -c :只激活预处理、编译和汇编,也就是把程序做成目标文件(.o文件) 。
l -Wl,options :把参数(options)传递给链接器ld 。如果options 中间有逗号,就将options分成多个选项,然后传递给链接程序。
nm命令
有时候可能需要查看一个库中到底有哪些函数,nm命令可以打印出库中的涉及到的所有符号。库既可以是静态的也可以是动态的。nm列出的符号有很多,常见的有三种:
l 一种是在库中被调用,但并没有在库中定义(表明需要其他库支持),用U表示;
l 一种是库中定义的函数,用T表示,这是最常见的;
l 一种是所谓的弱态”符号,它们虽然在库中被定义,但是可能被其他库中的同名符号覆盖,用W表示。
$nm libhello.h
ldd命令
ldd命令可以查看一个可执行程序依赖的共享库,例如我们编写的四则运算动态库依赖下面这些库:
总结
二者的不同点在于代码被载入的时刻不同。
l 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库,因此体积较大。
l 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小。
动态库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例
参考资料
http://www.cnblogs.com/skynet/p/3372855.html
C++静态库与动态库(转)的更多相关文章
- C++ 系列:静态库与动态库
转载自http://www.cnblogs.com/skynet/p/3372855.html 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择 ...
- C++静态库与动态库
C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...
- Linux下Gcc生成和使用静态库和动态库详解(转)
一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库. 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行. 由于windows和linux的平台不同( ...
- Makefile中静态库,动态库的创建和使用以及解压缩命令
应用层通过操作文件操控硬件 使用制作好的工具链: 刚开始学习时,用一些已经制作好的工具链,使用以下命令解压到gcc-3.4.5-glibc-2.3.6目录 cd /work/tools tar xjf ...
- VS中Debug和Realease、及静态库和动态库的区别整理(转)
原文出自:http://www.cnblogs.com/chensu/p/5632486.html 一.Debug和Realease区别产生的原因 Debug 通常称为调试版本,它包含调试信息,并且不 ...
- Linux下C++静态库、动态库的制作与使用
参考博文:C++静态库与动态库 >> 静态库 1. 静态库的制作 a) 编辑 name.cpp 和name.h文件 b) $g++ -c name.cpp //注意带参数-c,否则直接编译 ...
- 在Linux下如何使用GCC编译程序、简单生成 静态库及动态库
最近在编写的一个Apache kafka 的C/C++客户端,,在看他写的 example中,他的编译是用librdkafka++.a和librdkafka.a 静态库编译的,,,而我们这 ...
- VS中Debug和Realease、及静态库和动态库的区别整理
一.Debug和Realease区别产生的原因 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程序在代码 ...
- Linux下Gcc生成和使用静态库和动态库详解
参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库 ...
- android开发 NDK 编译和使用静态库、动态库 (转)
在eclipse工程目录下建立一个jni的文件夹 在jni文件夹中建立Android.mk和Application.mk文件 Android.mk文件: Android提供的一种makefile文件, ...
随机推荐
- Spring读书笔记——bean解析
前情回顾 上篇<Spring读书笔记--bean加载>我们从代码角度介绍了有哪些类负责解析XML文件,又是如何一步步从XML格式脱变成我们熟悉的bean的,直到DefaultBeanDef ...
- 慢SQL汇总
select count(*) as aggregate from `yqz_feed_praise` where `uid` = '580242' and `praise_uid` <> ...
- 吾八哥学Python(二):Python代码编辑器的选用
Python开发环境配置好了,但发现自带的代码编辑器貌似用着有点不大习惯啊,所以咱们就找一个"好用的"代码编辑器吧,网上搜了一下资料,Python常用的编辑器有如下一些: 1. S ...
- ios 指定页面禁用第三方键盘,使用系统的键盘
因为项目需要,需要在添加银行卡和提现页面使用数字键盘, 如果用户没有安装第三方键盘是没啥大问题的,但是如果用户手机安装了第三方的键盘的话,有时候会无法调用起第三方的数字键盘,或者第三方键盘样式不符合, ...
- eval函数的用法
可以把list,tuple,dict和string相互转化. ################################################# 字符串转换成列表 >>&g ...
- Servlet 笔记-生命周期
Servlet 生命周期可被定义为从创建直到毁灭的整个过程.以下是 Servlet 遵循的过程: Servlet 通过调用 init () 方法进行初始化. Servlet 调用 service() ...
- JAVA描述的简单ORM框架
抽了点时间自己写了个ORM,主要是为了复习JAVA泛型,映射,注解方面的知识.如需代码,可前往:https://github.com/m2492565210/java_orm自行下载 框架的类结构如下 ...
- LeetCode 48. Rotate Image(旋转图像)
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...
- 从零使用Python测试。Testing Using Python.
0. 写在前面 本人使用Python测试已有多年,略有些皮毛经验.每次有新员工入职,都会从头教一遍如何入门上手使用Python进行测试.趁这段有空,整理成文档,也好方便后续新员工学习.文章如有不妥之处 ...
- 径向基网络(RBF network)
来源:http://blog.csdn.net/zouxy09/article/details/13297881 1.径向基函数 径向基函数(Radical Basis Function,RBF)方法 ...