gcc编译静态库和动态库
来源:互联网 发布:java独立开发 编辑:程序博客网 时间:2024/04/18 22:19
1.静态库的编译与使用
[wang@localhost 桌面]$ vim test.c
#include <stdio.h>
int display()
{
printf("we are the best!\n");
return 0;
}
[wang@localhost 桌面]$ gcc -c test.c
[wang@localhost 桌面]$ ar crv libtest.a test.o
a - test.o
[wang@localhost 桌面]$ ranlib libtest.a
[wang@localhost 桌面]$ vim tt.c
#include <stdio.h>
int main()
{
display();
return 0;
}
[wang@localhost 桌面]$ gcc -o tt.x tt.c -L. -ltest
[wang@localhost 桌面]$ ./tt.x
we are the best!
2.动态库的编译和使用
[wang@localhost 桌面]$ gcc test.c -fPIC -shared -o libtest.so
–fPIC:表示编译为位置独立的代码,不用此选项的话,编译后的代码是位置相关的。所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。
–shared:指明编译成动态库
[wang@localhost 桌面]$ gcc tt.c -L. -l test -o tt
[wang@localhost 桌面]$ ./tt
./tt: error while loading shared libraries: libtest.so: cannot open shared object file: No such file or directory
[wang@localhost 桌面]$ gcc -o tt tt.c ./libtest.so
[wang@localhost 桌面]$ ./tt
we are the best!
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc 编译动态库和静态库
- GCC 编译动态库和静态库
- gcc编译静态库和动态库
- GCC编译静态库和动态库
- GCC 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译动态和静态链接库
- gcc编译动态和静态链接库
- 今天见鬼了,奇怪,Mark一下!
- [NSCFType XXX]: unrecognized selector sent to instance 0x4d80b00'
- 添加交叉编译工具进入系统的环境变量
- java gc
- 算法--顺序统计-期望线性时间做选择
- gcc编译静态库和动态库
- Android一句话区分sendBroadcast与sendStickyBroadcast
- leetcode 100: Simplify Path
- Fatal error: Class 'ZipArchive' not found的解决办法
- android屏幕自适应
- SSH框架与SSI框架的区别
- javascript的变量
- XNA游戏绘图
- 打开网页输入用户名和密码时,字体非常小,只显示————————