首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Objective-C中加载返回程序集的.dll文件?

如何在Objective-C中加载返回程序集的.dll文件?
EN

Stack Overflow用户
提问于 2014-01-24 14:06:35
回答 1查看 630关注 0票数 0

是否有可能以编程方式加载.dll或静态库(.a)文件,这将返回用于mac os x的objective-c中的汇编语言?

如何在objective-c for mac osx中加载和卸载程序集?

EN

回答 1

Stack Overflow用户

发布于 2014-01-25 01:02:38

我承认,即使在阅读了微软关于Assembly Class的文档之后,我仍然不清楚什么是程序集。他们说:

表示一个程序集,它是公共语言运行时应用程序的可重用、可版本化和自描述的构造块。

“可重用、可版本化和自描述”的部分听起来像是一个框架。

如果这确实是你想要加载的,那么你有很多选择。你最好的办法就是直接链接到框架上。当你的应用程序启动时,操作系统会自动加载它。

如果您想手动加载它,有许多方法可以做到这一点。如果它是您的应用程序附带的框架,那么您可以简单地将其放入应用程序包的Frameworks文件夹中,然后使用:

代码语言:javascript
复制
NSBundle* frameworkBundle = [NSBundle bundleWithIdentifier:@"<your bundle's identifier>"];
if (frameworkBundle != NULL)
{
    [frameworkBundle load];
}

您也可以使用dlopen() (有关详细信息,请参阅man dlopen(3) )。这会将一个动态库加载到您的进程空间中。

我从来没有理由直接使用dlopen()。在极少数情况下,我的应用程序可能需要在不支持该框架的旧操作系统上运行,我使用了上面通过NSBundle描述的手动加载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21325604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档