<Linux>linux-C动态链接库
来源:互联网 发布:mysql压缩包安装配置 编辑:程序博客网 时间:2024/06/07 23:25
作者:wsg
时间:2017.8.9--21:00
一、参考博文:http://www.cnblogs.com/Anker/p/3527677.html
二、功能函数产生.so文件(动态链接库):
/*****func.c*****/
#include "wsg.h"//加法int add(int a, int b){ return (a + b);}int sub(int a, int b){ return (a - b);}//除法int div(int a, int b){ return (int)(a / b);}//乘法int mul(int a, int b){ return (a * b);}
命令为: gcc -shared -fPIC func.c -o libfunc.so
下面是封装的头文件:
/*****wsg.h******/
#ifndef _WSG_H_#define _WSG_H_#include <stdio.h>int add(int a, int b); //加法int sub(int a, int b); //减法int div(int a, int b); //除法int mul(int a, int b); //乘法#endif
/******main.c*******/#include "wsg.h"int main(){int a = 10;int b = 2;printf("%d + %d = %d\n", a, b, add(a, b)); printf("%d - %d = %d\n", a, b, sub(a, b)); printf("%d / %d = %d\n", a, b, div(a, b)); printf("%d * %d = %d\n", a, b, mul(a, b));return 0;}
编译生产可执行文件main如下:gcc main.c -o main -L ./ -lfunc (其中-L指明动态链接库的路径,-l后是链接库的名称,省略lib)
./main运行程序,发现会出现如下错误:
找不到libfunc.so.
这时需要把libfunc.so复制或者移动到lib目录下才行:
再运行程序即可得到结果:
以上就是整个动态链接库的产生以及调用,作者能力有限,若有不足之处,欢迎提出批评。
阅读全文
0 0
- <Linux>linux-C动态链接库
- linux C++/C 动态链接库使用
- linux C++/C 动态链接库使用
- linux c动态链接库的使用
- linux c动态链接库的使用
- 【基础知识】linux c 编译链接运行、动态链接库
- linux 动态链接库
- linux动态链接库
- linux动态链接库
- linux动态链接库
- Linux 动态链接库
- linux 动态链接库
- Linux动态链接库
- linux 动态链接库
- Linux动态链接库
- linux 动态链接库
- linux 动态链接库
- Linux 动态链接库
- log4j.xml详解
- 【HDU-1257】最少拦截系统
- 事物
- python库下载
- js 显示当前系统时间
- <Linux>linux-C动态链接库
- Can you answer these queries? (HDU
- 线段树+平衡树 beautiful
- bdrcdl.exe未关闭
- 新版jmeter图形化报告解析
- [Leetcode] 2, 92, 86
- 软件测试过程及其管理
- HDU 1284 钱币兑换问题(完全背包)
- Android 基于Gridview 实现日历选择,扩展性高,要自行扩展