linux 下动态库使用示例
来源:互联网 发布:csgon卡优化 编辑:程序博客网 时间:2024/06/05 23:59
linux调用库的方式有三种:1.静态链接库2.动态链接库3.动态加载库其中1,2都是在编程时直接调用,在链接时加参数-l进行链接第三种需要在编程时使用dlopen等函数来获取库里面函数的定义,然后进行调用.不过对于没有提供头文件的动态库,只能dlopen等函数来调用
gcc getmaxlen.c -fPIC -shared -o libtest.so
gcc main.c -ldl -g
#include <stdio.h>#include <dlfcn.h> // 显式加载需要用到的头文件int main(){ void *pdlHandle = dlopen("./libtest.so", RTLD_LAZY); // RTLD_LAZY 延迟加载int ret; char *pszErr = dlerror();int array[]={11,5,8,13,9,5}; if( !pdlHandle || pszErr ) { printf("Load mylib failed!\n"); return 1; }// int getMaxLen(int *sel,int N) int (*Print)(int *,int) = dlsym(pdlHandle, "getMaxLen"); // 定位动态链接库中的函数 if( !Print ) { pszErr = dlerror(); printf("Find symbol failed!%s\n", pszErr); dlclose(pdlHandle); return 1; }printf("Print 0x%x\n", (int*) Print); ret = Print(array, sizeof (array)/sizeof(int)); // 调用动态链接库中的函数 dlclose(pdlHandle); // 系统动态链接库引用数减1 printf("result %d\n", ret); return ret;}
0 0
- linux 下动态库使用示例
- linux下使用动态库
- linux下练习 gcc 静态库/动态库 编译示例
- Linux下创建CUDA程序动态链接库示例
- linux下C++动态链接C++库示例详解
- linux下C++动态链接C++库示例详解
- linux动态链接库示例
- Linux 下动态库的使用
- Linux下动态库使用小结
- Linux下动态共享库的使用
- Linux下动态库使用小结
- Linux下动态库使用小结
- Linux下动态库生成和使用
- LINUX下动态链接库的使用
- Linux下动态链接库的使用
- linux 下动态链接库的使用
- Linux下动态库使用小结
- Linux下动态库的使用
- win7与VMware ubuntu虚拟机实现文件共享(最后一定要装open-vm-dkms插件)
- open-vm-tools-dkms : 依赖: open-vm-tools (>= 2:9.4.0-1280544-5ubuntu3) 但是它将不会被安装
- 032_池塘问题(lake counting)
- JAVA常用类之格式化
- 安卓端上传图片到服务器php接收
- linux 下动态库使用示例
- 常见的几种字符集
- 数据结构实训——图书管理系统
- 开源压力测试工具Jmeter(初级使用)
- mysql 各种命令
- std::function的本质和使用特性
- Shortest Proper Prefix---Trie树
- Handler可能导致的内存泄露及其优化
- mysql 字段类型为not null时,不设置该字段的值会报错,调整sql-mode