Linux中的动态链接库使用记录
来源:互联网 发布:知乎 洛丽塔译本 编辑:程序博客网 时间:2024/06/04 19:30
1.首先创建了一个文件shareTest.c
#include <stdio.h>void Say(){ printf("Say Hello\n");}void Look(){ printf("Look at me\n");}void Hear(){ printf("Hear a song\n");}
2.编译为so文件gcc -shared -fPIC -o libshareTest.so shareTest.c,fPIC的意思是与地址无关代码
这样就出现了 libshareTest.so
3.编辑一个文件test.c
#include <stdio.h>int main(){ int a; int b = 0; char c; char d = 'a'; printf("Hello\n"); Say(); Look();}
4.编译:gcc test.c -o test -L/home/zxx/experiment/ -lshareTest
5.运行:./test,出错,提示错误为 error while loading shared libraries: libshareTest.so: cannot open shared object file: No such file or directory
6.分析原因,虽然编译的时候指定了动态链接库的路径,但是在运行的时候,系统又去/usr/lib寻找 libshareTest.so,因此我们还要指定运行时动态链接库路径
4.2编译:gcc test.c -o test -L/home/zxx/experiment/ -Wl,-rpath,/home/zxx/experiment/ -lshareTest
5.2运行:./test 成功鸟~!
- Linux中的动态链接库使用记录
- linux 中的动态库链接库
- Windows和Linux中的动态链接库
- 如何使用动态链接库中的资源
- 如何使用动态链接库中的资源
- 如何使用动态链接库中的资源
- Linux中的动态链接库与静态链接库
- linux中的动态链接库和静态链接库
- LINUX动态链接库的使用
- linux动态链接库的使用
- linux动态链接库编写和使用
- linux动态链接库的使用
- Linux - 创建与使用动态链接库
- LINUX下动态链接库的使用
- Linux下动态链接库的使用
- linux 下动态链接库的使用
- Linux动态链接库的使用
- linux动态链接库的使用
- js子窗口传值回父窗口window.open方式
- C# Tips:关于类的集合属性的编程小技巧
- JAVA应用集锦1~9
- where group by联合使用
- VS2010如何调试IIS部署的程序
- Linux中的动态链接库使用记录
- 基于IRremote 红外发送编码
- Uiautomator Api浅析
- android 打开系统短信
- IOS之数据持久化
- 【转】正则表达式--笔记与实战(Eclipse文本替换)
- 简单前缀树
- Java 基本数据类型、大整数、高精度数,没有 sizeof 运算符
- Tomcat配置双向的ssl方式(浏览器不出不信任的红叉叉情况)