栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux环境下用gcc生成.a静态库和.so动态库

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux环境下用gcc生成.a静态库和.so动态库

目录

一 用hello world做例子。

二 例子示范。

三 总结

四 参考文献


一 用hello world做例子。

先创建一个名为hello的文件夹,将以下hello.h,hello.c,main.c的文件夹装入其中。代码如下。

hello.h

hello.c

main.c

2.生成.o文件

运用代码

 

3.生成.o文件。

然后应用以下代码用.o文件创建一个.a的静态库。用ar命令创建静态库。

 4.在程序中使用静态库,使用以下代码生成目标程序hello,并使用./hello代码直接使用程序输出程序的结果

 5.创建.so动态文件,动态库文件为.so。

创建动态库文件。

6.在程序中使用动态库。

使用./hello运行函数文件,得出输出结果,成功运行文件。

7.静态库和动态库的优先级。

当静态库和动态库同名时,gcc 命令将优先使用动态库。

二 例子示范。

程序如下:

生成静态库并得出结果

生成动态库并得出结果 

静态库和动态库的文件大小差别

而动态库的文件大小高达16多KB,相差还是很大的。

三 总结

本次实验在linusx的环境下用gcc生成静态库和动态库,初步了解到了怎么用静态库和动态库与源文件进行链接并输出结果,虽说中间出现了不少的问题,但是向同学请教后解答了,得出了相应的经验,也算是有非常不错的收获。

四 参考文献

https://blog.csdn.net/pink_lemon/article/details/120613458

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300070.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号