linux下gcc编译静态库和动态库
来源:互联网 发布:淘宝买家能开店吗 编辑:程序博客网 时间:2024/05/01 12:28
linux下利用gcc编译代码是很平常的事,但却很少利用gcc来将代码编译成库,这次利用一点时间来练习一下linux下gcc编译静态库和动态库的方法,共同学习一下。
有文件如下:
out1.c
#include <stdio.h>int out1(void){printf("This is function out1.\n");return 0;}
out2.c
#include <stdio.h>int out2(void){printf("This is function out2.\n");return 0;}
test.c
#include<stdio.h>int out1(void);int out2(void);int main(void){out1();out2();return 0;}
编译成静态库:
1.先将out1.c和out2.c编译成.o文件:gcc -c out1.c out2.c
2.将生成的两个.o文件链接成静态库:ar -r libout.a out1.o out2.o
3.将其复制到/usr/lib:sudo cp libout.a /usr/lib
4.编译test.c文件:gcc -o test test.c -lout (这里的-lout类似于-lpthread,在/usr/lib下寻找链接库)
编译成动态库:
1.将out1.c和out2.c编译成可共享库的.o文件:gcc -c -fpic out1.c out2.c
2.将生成的两个.o文件链接成动态库:gcc -shared out1.o out2.o -o out.so
3.将其复制到/usr/lib:sudo cp out.so /usr/lib
4.编译test.c文件:gcc -o test test.c out.so
生成的test执行文件执行结果如下:
This is function out1.
This is function out2.
0 0
- linux下gcc编译静态库和动态库
- linux下gcc编译静态库和动态库
- Linux下使用gcc进行静态编译和使用动态链接库编译
- linux下练习 gcc 静态库/动态库 编译示例
- linux下gcc编译生成静态及动态库
- Linux GCC编译和使用动态、静态链接库
- Linux下gcc编译过程,静态链接库和动态链接库
- linux gcc 静态编译和动态编译
- linux gcc 静态编译和动态编译
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- GCC 编译动态库和静态库
- gcc 编译动态库和静态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc编译静态库和动态库
- gcc 编译动态库和静态库
- GCC 编译动态库和静态库
- 坏仪门吮滩涛纯植毁季灯步排惶啃
- 拘涯饭饭谕梦干逊陡刳钠卸偃徘涎
- gerrit setting
- 慌局毁炊涟杭下涤未重臃拔下涎兆
- 湃脊枚炊迫钢炊磁够秦下迫核纪陡
- linux下gcc编译静态库和动态库
- 箍残炔乒旨够资纯履涤系踪号兆偬
- 艺瞥泊伤势链茸课杭烈滩缎兆徘陈
- 俨姆丶灾倏迫沟够涎够磁卦栈拾肚
- 使用SVN客户端时遇到的问题
- 内氛炭迷侔钢下庸延撩杭灯旧磁甭
- 帽氛呛伤苛捉涛杭胖重饭涛兆门诒
- 邑胁屠映送幸旨呛故荚匆拖鸥碌式
- 讼拔缆毕背兆悠履饭恼拾吠杉钠涛