gcc静态库和动态库的生成与使用

本文详细介绍了如何在Linux环境下使用gcc生成.a静态库和.so动态库,包括编辑源代码、编译.o文件、创建库文件及在程序中使用这些库。同时,文章涵盖了静态库和动态库的生成步骤、问题解决方法以及运行程序的实践操作。
摘要由CSDN通过智能技术生成

目录

 一、用 gcc 生成 .a 静态库和 .so动态库

(一)编辑生成例子程序 hello.h、hello.c 和 main.c

 (二)将hello.c编译成.o文件

 (三)由.o文件创建静态库

(四)在程序中使用静态库

(五)由.o文件创建动态库文件 

 (六)在程序中使用动态库

 二、Linux 下静态库.a 与.so 库文件的生成与使用

(一)准备工作

(二)静态库.a 文件的生成与使用

(三)共享库.so 文件的生成与使用

 三、自建函数静态库.a与.so库文件的生成与使用

 (一)编写函数代码

(二)静态库.a 文件的生成与使用

 (三)共享库.so 文件的生成与使用

四、总结 

五、参考文献

一、用 gcc 生成 .a 静态库和 .so动态库

(一)编辑生成例子程序 hello.h、hello.c 和 main.c

1.创建文件test1

mkdir test1//创建文件夹test1
cd test1//打开文件夹test1

2.用Vim编辑器新建一个hello.c文件并输入hello.c的代码

3.用Vim编辑器新建一个hello.h文件并输入hello.h的代码

4..用Vim编辑器新建一个main.c文件并输入main.c的代码

 (二)将hello.c编译成.o文件

1.使用gcc工具,输入gcc -c hello.c命令,将hello.c编译成.o文件

2.运行ls命令看看是否生存了 hello.o 文件

 (三)由.o文件创建静态库

静态库文件名的命名规范是以 lib 为前缀,紧接着跟静态库名,扩展名为.a。

1.输入以下命令创建静态库

ar -crv libmyhello.a hello.o

2.运行ls命令看看静态库是否生成

(四)在程序中使用静态库。

注意,gcc 会在静态库名前加上前缀 lib,然后追加扩展名.a 得到的静态库文件名来查找静态库文件。

1.输入命令

gcc main.c libmyhello.a -o hello

2.输入./hello命令运行程序,得出运行结果

(五)由.o文件创建动态库文件 

动态库文件名命名规范和静态库文件名命名规范类似,也是在动态库名增加前缀 lib,但其 文件扩展名为.so。

1.输入以下命令创建动态库

gcc -shared -fPIC -o libmyhello.so hello.o

2.运行ls命令看看动态库文件是否生成 

 (六&

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值