linux C 动态库和静态库生成及使用笔记
需积分: 0 32 浏览量
更新于2023-06-30
收藏 16KB DOC 举报
"linux C 动态库和静态库生成及使用笔记"
Linux C 动态库和静态库是两种不同的库类型,它们在生成、使用和链接时有着不同的机制和要求。下面我们将详细介绍 Linux C 动态库和静态库的生成、使用和链接机制。
一、动态库生成和使用
动态库是一种可以被多个程序共享的库文件,它可以在运行时被加载和卸载。生成动态库需要两步:使用 gcc 编译器将源文件(例如 hello.c)编译成二进制指令文件(例如 hello.o);将 hello.o 文件打包生成库文件(例如 libhello.so)。需要注意的是,Linux 中动态库的命名规则是 lib 自定义名称.so,例如 libhello.so。
links to the library file during the linking phase. To solve the problem of the linker not finding the dynamic library, we can adopt the following methods:
1. 将我们自己写的库文件添加到系统库文件的存储目录中,这样系统链接时就可以找到了。
2. 使用环境变量,将我们自己的库文件的路径配置到 LIBRARY_PATH 环境变量中,系统就会在这里面找到我们的库文件路径。
在运行可执行程序时,需要将动态库加载到内存中。我们可以将我们自己的库文件添加到系统库文件的存储目录中,或者使用环境变量 LD_LIBRARY_PATH,将我们自己的库文件的路径配置到该变量中。
二、静态库生成和使用
静态库是一种在编译时被复制到程序中的库文件。生成静态库需要两步:使用 gcc 编译器将源文件(例如 hello.c)编译成二进制指令文件(例如 hello.o);将 hello.o 文件打包生成库文件(例如 libhello.a)。
在使用静态库时,不需要考虑动态库的加载问题,因为静态库已经被编译到程序中了。我们可以使用 gcc -L 指定库文件链接路径,例如:
gcc main.c -o main -L 路径 库名称
Linux C 动态库和静态库都是库类型,它们在生成、使用和链接时有着不同的机制和要求。理解和掌握动态库和静态库的生成、使用和链接机制对于编写高效、可靠的程序是非常重要的。

请表打扰我学习
- 粉丝: 1
最新资源
- 互联网+小学英语作业的初探.docx
- 化工行业信息化建设方案.pdf
- 太阳能光伏发电系统照明系统设计自动化专业毕业设计.doc
- ARM处理器LCD控制及触摸屏接口设计方案.doc
- 《数据库原理及应用》考试大纲.doc
- 软件项目管理—如何进行项目估算.docx
- 基于89C51单片机的数字钟方案设计书(2).doc
- 中国应用交付网络市场分析报告-行业竞争现状与前景评估预测.docx
- 分层互动教学模式在中职计算机应用基础课程中的探究.docx
- 计算机科学与工程项目个人简历.doc
- 软件工程课后习题答案.doc
- authorware课程设计方案5.doc
- 基于计算机辅助语料库对中美研究者医学论文功能词使用的对比分析.docx
- VB-ACCESS的工资管理系统本科生.doc
- 工程项目管理材料封样要求.doc
- 基于应用型人才培养的大学计算机课程改革研究.docx