dlopen example
来源:互联网 发布:淘宝卖家中心在哪 编辑:程序博客网 时间:2024/06/06 09:19
//Liba.c#include<stdio.h>#include<stdlib.h>void PrintInfo(){ printf("PrintInfo from Liba.so\n");}void Test(){ PrintInfo();}
//Libb.c#include<stdio.h>#include<stdlib.h>void PrintInfo(){ printf("PrintInfo from Libb.so\n");}void Test(){ PrintInfo();}
//Test.c#include <dlfcn.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>typedef void TestFunc();typedef TestFunc *TestFuncPtr;void PrintInfo(){ printf("PrintInfo from Test\n");}int main(){ void *HandlA; void *HandlB; TestFuncPtr FunA; TestFuncPtr FunB; PrintInfo(); //HandlA = dlopen("./liba.so", RTLD_NOW); //HandlB = dlopen("./libb.so", RTLD_NOW); //HandlA = dlopen("./liba.so", RTLD_NOW | RTLD_GLOBAL); //HandlB = dlopen("./libb.so", RTLD_NOW | RTLD_GLOBAL); //HandlA = dlopen("./liba.so", RTLD_LAZY); //HandlB = dlopen("./libb.so", RTLD_LAZY); HandlA = dlopen("./liba.so", RTLD_LAZY | RTLD_GLOBAL); HandlB = dlopen("./libb.so", RTLD_LAZY | RTLD_GLOBAL); FunA = dlsym(HandlA,"Test"); FunB = dlsym(HandlB,"Test"); FunA(); FunB(); PrintInfo(); return 0;}
#make file
test: liba.so libb.so Test.cgcc Test.c -o test -ldlliba.so: Liba.cgcc -shared -o liba.so Liba.clibb.so: Libb.cgcc -shared -o libb.so Libb.cclean:rm test liba.so libb.so
0 0
- dlopen example
- dlopen
- dlopen()
- dlopen
- dlopen
- dlopen
- 找不到dlopen failed: library "/data/data/com.example.gpstest1/lib/libgnustl_shared.so" not found
- example
- example
- Example
- example
- Example
- Example
- Example
- Example
- example
- Example
- Example
- 断点调试
- 五.服务器提高性能的建议
- Timus 1330. Intervals
- Uva 12096 The SetStack Computer
- 读芥川龙之介小说
- dlopen example
- iOS--UINavigationController学习笔记二
- EntityFramework错误处理
- 素数筛法
- 关于Android 添加系统级(java)服务和调用的编写实现说明
- hdu 1269 迷宫城堡 强连通分量分解
- String和string区别
- Python 基础 —— from __future__ import
- Java 中的反射