Linux系统的ARM库移植

1.库的概念

.o文件的集合

2.静态链接库:libxxx.a //库的名字必须是这个形式

a.程序执行时只需要可执行文件

b.每个程序都单独拥有一个库的复制文件

c.程序升级时需要更换整个可执行文件

d.编译时需要库,运行时不需要

3.动态链接库:libxxx.so //库的名字必须是这个形式

a.程序执行时需要可执行文件&库文件

b.多个程序公用一个库文件

c.程序执行时只需更换库文件

d.编译和运行时都需要库文件

4.动态库的生成&使用

库的编译:

arm-linux-gnueabihf-gcc -fPIC -shared func.c -o libfun.so //将库的.c文件编译成.so文件

ARM应用程序的生成(fun.h放在main.c同层inc目录下,libfun.so存放在man.c同层lib目录下)

arm-linux-gnueabihf-gcc man.c -lfun -L ./lib -I ./inc //-L指定库文件路径,-I指定头文件路径

程序运行

将a.out拷贝到开发板指定目录下

将libfun.so拷贝到开发板的/lib目录下

执行程序

5.静态库的生成&使用

gcc -c fun.c -o fun.o

ar -rcv libfun.a fun.o

gcc man.c libfun.a //库文件被静态编译成可执行文件,运行时只需要执行可执行文件即可

相关推荐
切糕师学AI3 分钟前
ARM 汇编指令:ERET
汇编·arm开发
尘似鹤11 分钟前
Uboot移植--修改lcd和网络驱动
linux·学习·uboot
qq_4017004114 分钟前
Linux驱动-设备树
linux
是阿威啊17 分钟前
【第五站】集群组件一键启动/关闭脚本(Hadoop/YARN + Hive + Spark)
linux·运维·hive·hadoop·spark
txzz888835 分钟前
CentOS-Stream-10 搭建FTP服务器之系统用户访问
linux·运维·服务器·centos·ftp服务器·ftp 系统用户访问
ℳ₯㎕ddzོꦿ࿐36 分钟前
零基础教程:在 Linux 上通过 Docker 快速部署 Dify
linux·运维·docker·dify
学海_无涯_苦作舟38 分钟前
RabbitMQ Java Client源码解析——ConnectionFactory和Connection
linux·运维·服务器
是阿威啊39 分钟前
【第三站】本地虚拟机部署hive集群
linux·数据仓库·hive·hadoop·分布式
和光同尘20231 小时前
一文讲透CentOS下安装部署使用MYSQL
linux·运维·数据库·数据仓库·mysql·centos·database
0.0雨1 小时前
设置集群的SSH免密登陆
linux·服务器·ssh