在Linux上创建自己的动态库流程


老小孩
原创
发布时间: 2025-06-09 22:21:40 | 阅读数 0收藏数 0评论数 0
封面
接着上次介绍的创建静态库流程,这次介绍创建动态库的流程。

准备工作:

材料:

一台装有Linux操作系统的电脑

1

静态库和动态库

静态库和动态库的区别主要在于链接时间上的不同:静态库中的代码在编译过程中就被载入到程序中,而动态库是在程序执行到这个需要的函数时,才会从函数库中调用出来。

它们各有各自的优缺点,静态库执行程序时不需要操作系统中的函数库支持,而动态库则需要操作系统的函数库支持。如果静态库更新改变,你用静态库的程序必须重新编译,动态库则不用,只更新操作系统中的函数库就可以。用静态库的程序文件庞大,用动态库的程序文件相对小巧。

2

动态库的制作

这次还是以打印 hello world! 的函数实例做介绍:先建立一个printHello.h头文件,再建立一个printHello.c文件,然后用命令:gcc -fPIC -c printHello.c -o printHello.o 编译生成二进制执行文件printHello.o,用命令:

gcc -shared printHello.o -o libHello.so打包成函数库文件 libHello.so

3

更新系统中动态库使用环境

先打开 /etc/ld.so.cache 这个文件,在里面添加你新建动态库所在的路径(比如我的路径是:/home/wht/Desktop/)。再用 ldconfig 命令更新/etc/ld.so.cache 文件这个文件。

4

使用动态库

用vim 新建一个main.c文件,然后用参数 -L 指定用你自己的动态库文件编译 main.c 文件:gcc main.c -o print -L ./ -lHello 。最后运行这个print执行文件。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载