linux静态库和动态库的创建及使用

简介: linux静态库和动态库的创建及使用


有主函数和调用函数还创建了一个.h文件


提示:其中的xxx≠xxx


静态库


创建:

1、将调用文件

执行编译

gcc xxx.c -c 生成了xxx .o文件

2、输入

ar rcs libxxx.a xxx.o 生成了libxxx.a文件

使用:

我们现在有一个xxx.c主函数,.h文件 ,libxxx.a文件

gcc xxx.c -lxxx -L./(libxxx.a 进行砍头去尾)


ar命令 :查询指令是什么

-L./是指 指定当前路径去找头文件,默认的是从/usr/lib /usr/local/lib中找


动态库


创建:

gcc -shared -fpic xxx.c -o libxxx.so

使用:

gcc xxx.c -lxxx -L ./

这时有可能出现错误,知不道,我们将动态库文件放置默认文件中

执行sudo cp libxxx.so /usr/lib/

或者 指定动态库位置

创建一个shell脚本 xxx.sh

1、vi xxx.sh

2、插入内容

export LD_LIBRARY_PATH = “home/pi/back/test”

./a.out(或者使用-o后的文件)

3、退出.sh文件

4、执行 ./a.out(或者-o 后的文件)


shared 是指定生成动态库

fpic 是一种标准 以生成位置无关的代码


.h文件

是将被调用文件中需要传参的部分留下,其余删除并记得加;号

在mian 函数中 添加 #include"xxx.h"


相关文章
|
11天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
36 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
2月前
|
Linux
linux 交叉编译libpng,libjpeg库
linux 交叉编译libpng,libjpeg库
23 1
|
2月前
|
Linux 编译器 Android开发
linux交叉编译nss3,nspr库精讲
linux交叉编译nss3,nspr库精讲
40 1
|
2月前
|
Unix Linux vr&ar
【详解】静态库和动态库的认识和使用【Linux】
【详解】静态库和动态库的认识和使用【Linux】
|
2月前
|
缓存 Shell Linux
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
39 0
|
2月前
|
Linux 编译器 vr&ar
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
34 1
|
4月前
|
Linux 编译器 Shell
深入理解Linux中的动态库与静态库
深入理解Linux中的动态库与静态库
|
7天前
|
Linux 编译器 vr&ar
【库函数】Linux下动态库.so和静态库.a的生成和使用
【库函数】Linux下动态库.so和静态库.a的生成和使用
8 1
|
13天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
2月前
|
存储 安全 Ubuntu
【Linux 应用开发 】Linux环境下动态链接库路径(RPATH)的调整策略
【Linux 应用开发 】Linux环境下动态链接库路径(RPATH)的调整策略
72 1