动态库的调用方式
来源:互联网 发布:js 添加dom 动画 编辑:程序博客网 时间:2024/06/16 03:40
一. Embedded Binaries 方式
1. 把 xx.framework 添加到 Embedded Binaries 中;
2. 保证Build Setting - Runpath Search Paths 中设置路径,例如:@executable_path/Frameworks(xcode 一般会自动设置好);
3. 代码中直接使用 xx.framework 头文件中提供的类即可;
二. NSBundle 加载方式
NSBoundle *frameworkBundle = [NSBundle bundleWithPath:libPath];
if (frameworkBundle && [frameworkBundel load]) {
Class myclass = NSClassFromString(@"testClass");
NSObject *obj = [[myclass alloc] init];
[obj performSelector:@selector(test) withObject:self withObject:frameworkBundle];
}
三. dlopen 加载方式
void* lib_handle = dlopen([libPath cStringUsingEncoding:NSUTF8StringEncoding], RTLD_LOCAL);
if (!lib_handle) {
NSLog(@"Unable to open library: %s\n", dlerror());
return;
}
if (dlclose(lib_handle) != 0) {
NSLog(@"Unable to close library: %s\n",dlerror());
}
1. 把 xx.framework 添加到 Embedded Binaries 中;
2. 保证Build Setting - Runpath Search Paths 中设置路径,例如:@executable_path/Frameworks(xcode 一般会自动设置好);
3. 代码中直接使用 xx.framework 头文件中提供的类即可;
二. NSBundle 加载方式
NSBoundle *frameworkBundle = [NSBundle bundleWithPath:libPath];
if (frameworkBundle && [frameworkBundel load]) {
Class myclass = NSClassFromString(@"testClass");
NSObject *obj = [[myclass alloc] init];
[obj performSelector:@selector(test) withObject:self withObject:frameworkBundle];
}
三. dlopen 加载方式
void* lib_handle = dlopen([libPath cStringUsingEncoding:NSUTF8StringEncoding], RTLD_LOCAL);
if (!lib_handle) {
NSLog(@"Unable to open library: %s\n", dlerror());
return;
}
if (dlclose(lib_handle) != 0) {
NSLog(@"Unable to close library: %s\n",dlerror());
}
阅读全文
0 0
- 动态库的调用方式
- 动态库的调用方式
- 动态链接库调用方式
- 以命令行的方式调用Windows的动态链接库
- 转的VC调用Matlab,动态库方式
- C++ 动态链接库的两种调用方式
- Java调用DLL动态链接库的JNI方式详解
- dlopen 方式调用 Linux 的动态链接库
- C++ 动态链接库的两种调用方式
- 动态链接库的创建以及两种调用方式
- C++ 动态链接库的两种调用方式
- C#调用C++ DLL动态库的两种方式
- JS动态调用函数的方式
- 动态调用webservice的三种方式
- 动态链接库两种调用方式的比较
- Struts2动态方法调用的方式...
- 动态链接库两种调用方式的比较
- 动态链接库两种调用方式的比较
- shell ' ', " " 和 `` 的区别
- 1059: [ZJOI2007]矩阵游戏
- linux支持大磁盘配置
- Educational Codeforces Round 21 C. Tea Party 贪心
- 洛谷 P1451 求细胞数量
- 动态库的调用方式
- 深入理解Struts2----类型转换
- 一周乱弹(1,js if(!param)判断,2,jquery发送多个ajax请求 $.when().then()3,清空表单)
- Webpack 常见静态资源处理
- C++ STL 一般总结
- 图(1)——无向图
- H5开发:阿里云虚拟主机子目录如何绑定二级域名
- InetAddress & InetSocketAddress
- 51nod 1202 子序列个数