linux下面编译库文件,Linux下动态链接库文件的编译与使用
1.动态库模块
modelu_c.h:
#ifndef _MODULE_C_H_
#define _MODULE_C_H_
#ifdef __cplusplus
extern C
{
#endif
extern int add_nums(int m, int n);
#ifdef __cplusplus
};
#endif
#endif //end of _MODULE_C_H_ module_c.c
#include "module_c.h"
int add_nums(int m, int n)
{
return m+n;
}
2. 模块调用
test.c
#include
int main()
{
int ret = 0;
ret=add_nums(3, 7);
printf("result is %d\n", ret);
return 0;
}
3.模块编译
gcc module_c.c -fPIC -shared -o libmodulec.so
-fPIC : 表示生成位置无关代码
查看文件格式:
yanbo@ubuntu:~/projects/swig_prj$ file libmodulec.so
libmodulec.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=0xa6de85a6dc105358dd2046a770862f6ac7001fa7, not stripped
4.动态库调用
gcc test.c -L. -lmodulec -o test
-L. : 动态库的搜索路径
-l* : *表示动态库名称,系统会按规则在*前加lib,*后加.so
查看链接情况:
yanbo@ubuntu$ ldd test
linux-gate.so.1 => (0xb772e000)
libmodulec.so => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7556000)
/lib/ld-linux.so.2 (0xb772f000) 通过搜索,原因为-L.所指定的当前目录不在LD_LIBRARY_PATH全局变量记录之内,所以无法找到相应动态库。以下为一篇解决该问题的博客:
ldd xxx.so not found解决方案,在此感谢作者。以方法一为例:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/yanbo/projects/swig_prj/ 重新ldd:
yanbo@ubuntu$ ldd test
linux-gate.so.1 => (0xb772e000)
libmodulec.so => (0xb773a000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7556000)
/lib/ld-linux.so.2 (0xb772f000) 执行调用:
yanbo@ubuntu:~/projects/swig_prj$ ./test
result is 10 调用成功。
linux下面编译库文件,Linux下动态链接库文件的编译与使用相关推荐
- Linux和Windows的遍历目录下所有文件的方法对比
首先两者读取所有文件的方法都是采用迭代的方式,首先用函数A的返回值判断目录下是否有文件,然后返回值合法则在循环中用函数B直到函数B的返回值不合法为止.最后用函数C释放资源. 1.打开目录 #inclu ...
- Linux下统计当前文件夹下的文件个数、目录个数
这篇文章主要介绍了Linux下统计当前文件夹下的文件个数.目录个数,本文使用ls命令配合管理.grep命令实现统计需求,需要的朋友可以参考下 1) 统计当前文件夹下文件的个数 复制代码 代码如下: l ...
- linux替换某个文件夹下所有文件,Linux 批量查找并替换文件夹下所有文件的内容...
1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...
- linux du 文件大小排序,du命令 实现Linux 某个文件夹下的文件按大小排序
1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...
- 【转】【Linux】Linux下统计当前文件夹下的文件个数、目录个数
[转][Linux]Linux下统计当前文件夹下的文件个数.目录个数 统计当前文件夹下文件的个数,包括子文件夹里的 ls -lR|grep "^-"|wc -l 统计文件夹下目录的 ...
- Linux统计文件夹下的文件数量
统计某文件夹下目录文件的个数,统计文本文件的数量 Linux下有三个命令:ls.grep.wc 通过这三个命令的组合可以统计目录下文件及文件夹的个数.ls常用命令介绍 统计当前目录下文件的个数(不包括 ...
- Linux C 读取文件夹下所有文件(包括子文件夹)
Linux C 读取文件夹下所有文件(包括子文件夹) 递归读取某文件夹及其子文件夹下所有文件名 深入探讨:linux中遍历文件夹下的所有文件 Linux C :遍历输出指定目录下的所有文件 Linux ...
- linux 压缩当前文件夹下所有文件
linux zip压缩.压缩当前文件夹下所有文件,压缩为a.zip.命令行的方法是怎样. zip -r fileName.zip 文件夹名 tar tar命令可以用来压缩打包单文件.多个文件.单个目录 ...
- diff 比较两个文件夹下各个文件的内容(差别)
文章目录 1 比较文件夹下各个文件的内容 其他参考 diff的参数,输出 备注 标题:diff 比较两个文件夹下各个文件的内容(差别) 1 比较文件夹下各个文件的内容 很简单,就一行代码:diff - ...
- ubuntu系统(四):批量化查看pcd文件, 批量化修改图像的像素尺寸、查看当前文件夹下的文件数量
目录 一.ubuntu批量化查看pcd文件 二.ubuntu批量化修改图像的像素尺寸 三 查看当前文件夹下的文件数量 一.ubuntu批量化查看pcd文件 将下面的脚本与要批量化查看的pcd文件放在一 ...
最新文章
- Linux进程间的通信----->共享内存
- SQL Server Management Studio 2012 设置脚本默认保存路径
- 关于Viual Studio 改变编辑器背景背景及背景图片
- Android 简单记事本
- Java黑皮书课后题第7章:**7.23(游戏:储物柜难题)一个学校有100个储物柜和100个学生。所有的储物柜在上学的第一天都是关着的。…在所有学生都经过教学楼并且改变柜子之后,哪些柜子是开着的?
- keepalived(3)——解决无法用vip来访问的问题
- 前端学习(875):dom事件流理论
- python中如何替换某列特定数值_python 怎么根据两列值,修改对应的某列值,其中一列的为需要修改的列标题...
- java二期_享学二期java架构师
- MySQL 直接存储图片并在 html 页面中展示,点击下载
- ajax传输文件大小有没有限制_巧改文件扩展名,1秒解除微信传输文件大小限制!...
- 组态王登录服务器为空,组态王服务器与客户端配置
- 每个Java程序员必须知道的5个JVM命令行标志
- 1104 LED Test
- mysql下的常用操作
- android触摸 apk,超级触控(流畅触屏)apk
- 免费搭建个人网站流程!马上拥有自己的网站!
- 利用html5画出五角星画出星空
- 【esp8266】③esp8266对接天猫精灵实现语音控制
- 信号完整性分析学习--12--IBIS模型