树莓派之Linux库概念及相关编程

本文介绍了Linux下的程序库概念,包括静态函数库和动态函数库的制作与使用。静态库在编译时链接到目标程序,而动态库在运行时加载。制作静态库使用`ar`命令,动态库则需要`gcc`的`-shared`和`-fpic`选项。使用静态库需通过`-l`和`-L`选项指定,动态库还需设置`LD_LIBRARY_PATH`环境变量。
摘要由CSDN通过智能技术生成

1.分文件编程案例

好处:
分模块的编程思想
网络 a
超声波b
电机c
a.功能责任划分
b.方便调试
c.主程序简洁

需要创建xx.h文件
xx.h文件只要包含函数名字就可以;

主main文件引入#include“xx.h”

Linux共享库、静态库、动态库详解

1. 介绍

    使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。  

程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shared libraries)、动态加载函数库(dynamically loaded libraries):

1、静态函数库,是在程序执行前就加入到目标程序中去了 ;

2、动态函数库同共享函数库是一个东西(在linux上叫共享对象库, 文件后缀是.so ,windows上叫动态加载函数库, 文件后缀是.dll)

在这里插入图片描述

2. 静态函数库

在这里插入图片描述
静态库的制作:格式xxxx.a

gcc xx.c -c 生成xxx.o//文件
ar rcs xx.a xx.o  xxx.o //文件生成xxx.a静态库文件

使用:

gcc calculatorT.c -lxx -L ./ -o xx	
-lxx -l是制定要用的静态库,库名砍头去尾
-L告诉gcc编译器从-L制定的路径去找静态库。默认是从/usr/lib  /usr/local/lib去找

3. 动态函数库

在这里插入图片描述
动态库的制作:

gcc -shared -fpic xx.c -o xxx.so
			-shared 指定生成动态库
			-fpic 标准,fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项,以生成位置无关的代码。
gcc xx.c -xx -L ./ -o xx	生成xx.so文件

动态要使用环境才能运行
pwd查看当时的文件夹

创建一个脚本xx.sh

export LD_LIBRARY_PATH="当前目录"

./需要编译文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈学弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值