框架和动态库之间的主要区别是什么

时间:2010-03-26 05:40:14

标签: objective-c cocoa macos

框架工作和动态库之间的主要区别是什么

3 个答案:

答案 0 :(得分:13)

OS X框架的核心是动态链接库。框架是一个special directory structure,称为“框架包”,它包含动态链接库的一个或多个版本,以及依赖框架,资源,元数据等.OS X上的其他“包”包括.app包(包含可执行文件以及资源,依赖框架等......)。

答案 1 :(得分:8)

动态库是一个基本概念,大部分独立于特定平台,即你可以在OSX,Linux,Windows上讨论动态库,这意味着相同的基本内容 - 一个可重定位目标代码,其中包含导出的API符号一种允许平台上的应用程序按需加载和共享的方式。

框架是OSX特定的术语。它是一个包,它定义了一些共同商定的目录结构,并在预定义的位置存储动态库,资源,包的描述和其他相关内容。这意味着它主要具有语义含义,允许开发人员(以及他们创建的工具)以通常理解的方式引用它。值得注意的是,框架根本不需要包含共享库。

答案 2 :(得分:2)

Anatomy of a Framework可能有用。具体而言,该示例中提到的Versions/Current/MyFramework是共享库。该部分继续描述框架包中可能存在的一些其他内容。