Linux下C开发,怎么做成库文件,又怎么引用这个库文件?
来源:互联网 发布:淘宝上做什么产品好 编辑:程序博客网 时间:2024/04/30 09:13
本文根据http://topic.csdn.net/u/20091026/10/0e913e37-e4a2-4504-bcc7-61af18a22dde.html?6487的回复总结而成。
1. 共享库
通常做成共享库的话,在编绎时加上-shared参数,并把链接生成的文件名命名libxxx.so,可以放在/usr/lib下
其他程序引用这个库时,在链接的时候加上-lxxx就可以了。
编辑好代码以后,编译时采用类似下面的命令可生成"共享库"(假如源文件是myfun.c):
gcc -shared -fPIC -Wmyfun.c -0 libmy.so
解释: -shared 生成共享库;
-fIPC 表示“位置无关代码”(Position Independent Code),可不加;
-W 表示输出警告信息,可不加;
库文件的命名要按照libxxxx.so的格式;
要引用这个库时:
gcc xxx.c -0 xxx.out -lmy
-l 表示设定要连接的库(libmy.so,输my便可)
2. 静态库
文件名:lib.c
先编译成目标文件 gcc -o mylib.o -c lib.c
然后创建静态库,将mylib.o放到libmylib.a中 ar rcs libmylib.a mylib.o
最后copy到库目录下/usr/lib cp libmylib.a /usr/lib/libmylib.a
在编写的时候直接调用其中的函数就是了,只不过在编译的时候要加入-l选项后面跟上库名
如 gcc -o test test.c -lmylib //mylib是前面创建的库的名称
3. 动态库
创建就是 gcc -fPIC -share -o mylib.so lib.c
调用也分两种方法
一种方法是 gcc -o test test.c ./libmylib.so (注意这里跟的是动态库的路径 )
第二种方法是使用动态库的函数 你man dlopen看下那几个函数看下就知道了就不多说了
http://blog.csdn.net/bonny95/article/details/4733608
- 【总结】Linux下C开发,怎么做成库文件,又怎么引用这个库文件?
- Linux下C开发,怎么做成库文件,又怎么引用这个库文件?
- 这个文件怎么打开
- linux下怎么查找文件
- linux系统下怎么安装.deb文件?
- 在linux下怎么安装.bin文件
- linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件?
- 怎么执行linux下的bin文件
- linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件
- 怎么在Linux下查找文件
- Linux系统下怎么安装.deb文件?
- linux系统下怎么安装.deb文件?
- 在linux下怎么安装.bin文件
- Scrollbars & Scrolling
- Spring security 认证-ch01
- A handy Perl script to calculate duration in seconds
- 基于mini2440的USB视频采集
- shell for 循环写法总结
- Linux下C开发,怎么做成库文件,又怎么引用这个库文件?
- android Touch事件详解(解决冲突问题)
- 正则表达式全部符号解释
- Google Maps V3 之 路线服务
- java反射机制
- 加载外部xml
- 黑马程序员_学习日记1(java入门前准备)
- json simple 实例
- [OS] malloc()函数的工作机制