GCC编译静态库和动态库
来源:互联网 发布:自考网络助学 编辑:程序博客网 时间:2024/05/02 00:43
一、动态库的编译和使用
//hello.c#include<stdio.h> void hello() { printf("This is hello!\n"); }
编译命令:gcc -shared hello.c -o libhello.so
可以看到,当前目录下多了一个文件libhello.so
测试test.c
//test.c#include<stdio.h>int main(){printf("call hello()\n");hello();}
编译这个测试程序:gcc test.c -lhello -L. -o test
-lhello 指定要连接的库,文件名默认规则是libxxx.so
-L . 是指定库的目录
注意:编译成功但是执行会出错,执行是动态连接这个库会找不到路径,可以复制libhello.so到 /usr/lib等共用lib目录
或者修改环境变量export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
二、静态库的编译和使用
编译命令:gcc -c hello.c 这里会生成hello.o
生成静态库:ar -r libhello.a hello.o 将hello.o插入静态库
编译测试程序:
gcc test.c -lhello -L. -static -o hello.out
gcc test.c libhello.a -L. -o hello.out
0 0
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc 编译动态库和静态库
- GCC 编译动态库和静态库
- gcc编译静态库和动态库
- GCC编译静态库和动态库
- GCC 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译动态和静态链接库
- gcc编译动态和静态链接库
- Fragment 详解
- java设计模式—工厂模式
- 那些超级成功的公司
- Imagic Photo - Image And Photo Enhancement Software
- CF 225DIV2 B. Multitasking
- GCC编译静态库和动态库
- [andriod]Media
- android pad如何发布到google play上
- android tabHost布局之一 继承TabActivity并以activity布局
- ViewPager onPageChangeListener总结
- 好书推荐:《Effective Java》(中文第二版)
- javascript中根据函数名称字符串,动态执行函数
- JavaScript 操作Cookie的方法(IE版本的)
- openerp对象字段定义的详解