文档章节

静态链接库和动态链接库

zhanggong
 zhanggong
发布于 2016/01/02 16:39
字数 170
阅读 59
收藏 8

制作静态链接库:

gcc -c mylib.c -o mylib.o

ar rc mylib.a mylib.o

静态链接库的使用:

1

gcc -o test_elf test.c mylib.a

2

加入mylib.h mylib.a在/opt目录

gcc -o test_elf test.c -L/opt -lmylib -I/opt

3

mv mylib.a /lib

mv mylib.h /usr/include/

gcc test.c -o test_elf -Imylib.a

制作动态链接库:

gcc -shared mylib.c -o mylib.so

动态链接库的使用:

1

gcc -o test_elf test.c mylib.so

2

gcc -o test_elf test.c -L/opt -lmylib -I/opt

这种情况下,需要设置动态链接库的环境变量。把目录加入搜索路径。

export LD_LIBRARY_PATH=./:/opt/:&LD_LIBRARY_PATH

3 mv mylib.so /lib

mv mylib.h /usr/include/

gcc test.c -o test_elf -Imylib.so

© 著作权归作者所有

共有 人打赏支持
zhanggong
粉丝 5
博文 51
码字总数 26791
作品 0
深圳
程序员
私信 提问
(一)编写和使用静态及动态链接库

@1 编写和使用静态链接库(archive) 示例1.1: test.c: include <stdio.h> void func(){printf("library funcn");} test1.c: include <stdio.h> void func1(){printf("library func1n");} a......

shawn chen
2012/08/01
0
0
Linux下动态库的生成和使用

一.动态库的基本概念 1. 动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式...

鉴客
2011/11/22
28.2K
7
动态连接库 VS 静态连接库

一、静态库与动态库 通常情况下,对函数库的链接是放在编译时期(compile time)完成的。所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executa...

Playboy002
2015/09/22
343
0
Linux-静态链接库和动态链接库

博文说明【前言】: 本文将通过个人口吻介绍Linux中静态链接库和动态链接库相关知识,在目前时间点【2017年6月14号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大...

1清风揽月1
2017/06/14
0
0
C语言之静态链接库和动态链接库

1:静态链接库 比较早出现的是静态链接库。静态库其实就是商业公司将自己的函数库源代码经过只编译不连接形成.o的目标文件,然后用ar工具将.o文件归档成.a的归档文件(.a的归档文件又叫静态链...

科技小能手
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring异常之Druid – unregister mbean error

Spring异常之Druid – unregister mbean error 2017年04月19日 12:13:42 Dr.Zhu 阅读数:6688 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zt_fucker/arti...

linjin200
15分钟前
1
0
微信小程序webview问题

今天在改小程序的时候在使用webview的时候切换webview的地址行为,出现了诡异的情况。 默认querystring里会有多个?符号,使用的时候被微信给截取了,导致程序找不到改页面。 而且querystri...

钟元OSS
18分钟前
1
0
Spark2.0操作Hbase

读写Hbase的方法,这里是通过Spark的RDD来操作的方法,通过Hbase API的方式是另一种,这里不涉及。 首先配置pom,添加hbase依赖,一般Spark平台不包含hbase的jar包,所以这些依赖不添加<scop...

守望者之父
19分钟前
1
0
【转】你会用哪些JavaScript循环遍历

总结JavaScript中的循环遍历定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f'];const obj = {a: 1,b: 2,c: 3,d: 4} for() 经常用来遍历数组元素 遍历值为数组元素...

kaixin_code
21分钟前
1
0
mysql的锁

MySQL的锁 全局锁:对数据库实例加锁 MySQL提供了一个加全局读锁的方法:Flush tables with read lock(FTWRL) 使用场景:做全库逻辑备份。 官方自带的逻辑备份工具mysqldump,使用时带上参数...

灯下草虫鸣_
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部