用gcc编译静态库,动态库
来源:互联网 发布:日本电装公司 知乎 编辑:程序博客网 时间:2024/05/01 08:26
用gcc编译静态库,动态库(zt)
假设当前目录下有这些源文件:[main.c func.c func.h],其中main.c要调用func.c中的函数。
【1】生成静态库:
$ gcc -c func.c -o func.o
$ ar rcs libfunc.a func.o
$ gcc main.c -o main -static -L. -lfunc
$ ./main
【2】生成动态库:
$ gcc -fPIC -c func.c -o func.o
$ gcc -shared -o libfunc.so.1.0.0 func.o
$ ln -s libfunc.so.1.0.0 libfunc.so
$ gcc main.c -o main -L. -lfunc
$ export LD_LIBRARY_PATH=$(pwd)
$ ./main
如果将so文件copy到系统lib目录(如/usr/lib),则最后2步就不用了。
最后还有3个小知识:
【1】nm命令:列出目标文件或2进制文件的所有符号。
【2】ldd命令:列出为了使程序正常运行所需要的所有共享库。
【3】/etc/ld.so.conf文件:除了标准目录(/lib和/usr/lib)之外,链接器和加载器搜索共享库时要检查的其他目录,和这个文件相关的一个命令是:ldconfig 。
- 用gcc编译静态库,动态库
- 用gcc编译静态库,动态库
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- Gcc编译静态库/动态库
- gcc编译使用静态库/动态库
- GCC 编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc 编译动态库和静态库
- gcc编译动态库静态库
- GCC 编译动态库和静态库
- gcc编译静态库、动态库
- gcc编译静态库和动态库
- GCC编译静态库和动态库
- GCC 编译动态库和静态库
- MySQL的FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别
- Amazon 电面 08/22/2011
- Android屏幕中隐藏标题栏和状态栏
- 利用Service实现android重启,切换输出制式
- Sql 语句纪实
- 用gcc编译静态库,动态库
- FastDB的表对应于C++类
- 私有构造函数 单例模式
- Python3.x和Python2.x的区别
- Extjs xtype值大全
- 很全的英语短语,可以防止你英文退化
- 比较静态变量与实例变量,及它们的应用
- SAP中如何建立F4搜索帮助
- js 父子窗口——showModalDialog()、showModelessDialog()方法的使用(2)