文档章节

GCC编译静态库及动态库

明天以后
 明天以后
发布于 2017/09/01 10:34
字数 143
阅读 218
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

将文件编译为静态库.a

# 将cJSON.c编译为cJSON.o, -c只编译不连接
➜ gcc -c cJSON.c 

# 组合为静态链接库. 使用cJSON.o创建静态库libcJSON.a
➜ ar -r libcJSON.a cJSON.o 

# 将静态库作为一个系统共享的静态链接库(lib文件夹)
➜ cp libcJSON.a /usr/local/lib

# 此时就可以使用 -l 参数去使用静态库了.
➜ gcc main.c -o main -lcJSON 

将文件编译为动态链接库.so

# 编译动态链接库
# # -fPIC: Position-Independent Code 生成位置无关的代码
➜ gcc -fPIC -shared -o main.so main.c

© 著作权归作者所有

上一篇: C语言共享内存
下一篇: Jinja2初探
明天以后

明天以后

粉丝 76
博文 130
码字总数 87367
作品 0
昌平
程序员
私信 提问
加载中

评论(0)

gcc编译工具生成动态库和静态库之一----介绍

1.库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然...

osc_7nbbniav
2019/01/09
4
0
Linux_ 4、Linux下的C编程

[TOC] <br> 一、使用gcc命令来编译.c源程序 1、gcc编译过程:预处理->编译->汇编->链接 gcc支持的后缀 gcc常用选项 一步编译、连接 gcc无需加选项对应gcc代码: 1.1、预处理 -E 作用:对头文...

osc_c0qub4nv
2019/03/30
2
0
在Linux中创建静态库和动态库范例 (hello.c)

我们通常把一些公用函数制作成函数库,供其它程序使用。 函数库分为静态库和动态库两种。 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。 动态库在程序编译时并不...

AlphaJay
2010/05/31
1K
0
gcc下如何主动创建并使用自己的动态库或静态库

库:本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行,分为静态库和动态库两类。另外,需要知道的是,由于windows和Linux是两款操作系统,因此,二者的库是不兼容的。 静态函...

暮回_梓
2018/06/26
0
0
gcc详解以及静态,动态库的生成 2

我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两 种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态 库在程序编译时并不会...

AlphaJay
2010/09/10
618
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Windows上安装pip? - How to install pip on Windows?

问题: pip is a replacement for easy_install . pip替代了easy_install 。 But should I install pip using easy_install on Windows? 但是我应该在Windows上使用easy_install安装pip吗? ......

fyin1314
今天
21
0
gitlit二级目录访问

由于我们只有一个域名暴露,特殊需求,所以需要二级目录访问 配置文件在 defaults.properties 第1985行 contextPath 改掉就好了 # Context path for the GO application. You might want to...

shzwork
今天
24
0
OSChina 周一乱弹 —— 我电脑传染了新冠脚气

@性感码农 :不结婚,被老爸说,回村里别人都瞧不起你,及即使你赚了很多钱,不结婚,永远没有人瞧得起你。挺纳闷的,要别人瞧得起我干嘛 又不回村里, 跟他们生活也没什么交集啊, 用得着他...

小小编辑
今天
18
0
类加载的过程

加载->链接->初始化; 其中链接又分为:验证->准备->解析。

曦鱼violet
今天
21
0
Linux下几个与磁盘空间和文件尺寸相关的命令

硬盘是计算机非常重要的一个部件,不管是代码,还是 UI 、声音、文档,抑或是没人时偷偷看的小视频,都需要保存在硬盘里。 对于很多 Linux 服务器,会进行很多的编译操作。而编译操作在很多情...

Linux就该这么学
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部