c语言共享代码之静态库与动态库
2014-09-09 23:56
141 查看
共享代码可以提高效率,但为了代码的安全性等原因,一般很少保留c文件,而是通过将c文件编译成 .o文件,
通过共享h文件和.o文件来实现共享代码。
多个.o文件管理起来比较麻烦,如果把这些文件打包成一个库,通过链接库来调用里面的函数是一种常用的方法。
一般分为静态库(存档)和动态库。
ar -rcs libxxx.a a.o b.o ......
此时将a.o 和 b.o 打包在libxxx.a的静态库中
使用:
<1>将libxxx.a放入标准目录中
此时编译时,不用指定库文件的路径 gcc -lxxx 即可链接该库
<2>将libxxx.a放入自己设定的目录中
此时编译时,需要指定库目录 gcc -L /路径/ -lxxx
libxxx.dylib (mac)
使用方法同静态库。
通过共享h文件和.o文件来实现共享代码。
多个.o文件管理起来比较麻烦,如果把这些文件打包成一个库,通过链接库来调用里面的函数是一种常用的方法。
一般分为静态库(存档)和动态库。
创建存档
存档是静态库,形式为libxxx.a 。可以用ar命令来创建存档ar -rcs libxxx.a a.o b.o ......
此时将a.o 和 b.o 打包在libxxx.a的静态库中
使用:
<1>将libxxx.a放入标准目录中
此时编译时,不用指定库文件的路径 gcc -lxxx 即可链接该库
<2>将libxxx.a放入自己设定的目录中
此时编译时,需要指定库目录 gcc -L /路径/ -lxxx
创建动态库
gcc -shared x.o -o libxxx.so (linux或unix)libxxx.dylib (mac)
使用方法同静态库。
相关文章推荐
- 静态、共享和动态库
- 数据结构 --静态队列的一个简单的C语言代码实现
- Linux静态、共享和动态库之编程
- 静态、共享和动态库的使用
- C语言之静态库与动态库学习笔记
- 静态、共享和动态库
- 静态、共享和动态库
- c语言:静态库与动态库
- C语言内存分区_栈区、堆区、全局&静态区、文字常量区、程序代码区
- 静态、共享和动态库的使用
- C语言的内存管理分析 栈区 代码区 堆区 静态区 常量区
- [代码共享] Javascript
- 微软简化代码共享计划 为加强与第三方合作
- DataStructure---LinkList 链表C语言实现代码
- 如何优化C语言代码(程序员必读)
- 今天把以前解决的MDI子窗体,多次打开同一窗体代码共享一下.逻辑不够完善但是解决了问题
- DBM、GDBM与C语言跨平台代码研究
- ASP.NET生成静态网页的代码
- 原创控件代码共享--日期选择控件
- C语言垃圾代码清除工具(含源码)