linux下gcc编译静态库和动态库
来源:互联网 发布:snmp用php编程实现 编辑:程序博客网 时间:2024/05/01 12:18
库文件源代码,文件名称coutlib.c
1 #include <stdio.h>
2 unsigned long count(unsigned int a, unsigned int b)
3 {
4 return a+b;
5 }
程序源代码,文件名称cout.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 int main(int argc,char *argv[])
4 {
5 unsigned int x,y;
6 sscanf(argv[1],"%u",&x);
7 sscanf(argv[2],"%u",&y);
8 printf("result is :%u\n",count(x,y));
9 return 0;
10 }
编译静态库:
1 生成.o文件gcc -c countlib.c,产物coutlib.o
2 生成.a库文件ar crv countlib.a countlib.o,产物coutlib.a
编译程序(带静态库coutlib.a编译)
gcc -o count count.c -L./ countlib.a
测试
./cout 2 4
结果 8
编译动态链接库
1 生成.o文件gcc -fPIC -c countlib.c,产物countlib.o
2 生成动态库文件 gcc -shared countlib.o -o countlib.so,产物countlib.so
动态链接库显式调用:在程序代码中书写调用
动态链接库隐式调用:在程序编译的时候调用
这里只说明一下隐式调用
gcc count.c -o count2 -L./ countlib.so
测试
./cout 2 4
结果
错误,没有coutlib.so文件
可以考虑把countlib.so放到/usr/lib下面,也可以考虑在/etc/ld/so.conf.d中把当前路径增加。
- 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 编译动态库和静态库
- java获取本机ip以及客户端ip
- SQL之自己还没来得及看的提纲(以及sqlmap的使用教程简单)
- SpringBoot中使用Swagger生成RESTful规范API文档
- [Tensorflow] convolution卷积 && pooling池化
- interrupt()方法
- linux下gcc编译静态库和动态库
- JavaScript实现计时器
- SSM之Spring学习笔记(2)
- volatile关键字
- 自己理解接口回调入门
- Go基础编程:复合类型—数组
- Swing中的Action接口
- python groupby
- S04表达式