-2

在编写 MacOS 代码时,我可以使用几个选项。核心服务、核心基础和核心数据。他们之间有什么区别?它们是纯 C++ 代码吗?

4

4 回答 4

4

它们都执行不同的操作,并在 C 或 Objective-C 中实现:

核心服务

该文档集为核心服务框架提供了 API 参考,其中包含 Carbon 应用程序使用的许多基本操作系统服务。

核心基础

Core Foundation 是一个框架,它提供对应用程序服务、应用程序环境和应用程序本身有用的基本软件服务。Core Foundation 还提供通用数据类型的抽象,通过 Unicode 字符串存储促进国际化,并提供一套实用程序,例如插件支持、XML 属性列表、URL 资源访问和首选项。

核心数据

这个文档集合提供了 Core Data 框架的 API 参考。Core Data 为 Foundation 和 Cocoa 应用程序提供对象图管理和持久性。有关更多详细信息,请参阅“核心数据基础”。

于 2012-07-05T22:25:51.457 回答
4

苹果的图

MacOS 框架层

您可以立即看到核心服务是 MacOS 软件生态系统中的一个层,其中包括核心基础等等。Core Foundation 是基于 C 的,因此您当然可以从 C++ 轻松调用它,但并非核心服务层中的所有框架都具有仅 C 语言的 API。

Core Data 是 Core Services 层中的另一个框架,是带有 Objective-C API 的 Core Services API 的一个很好的例子。Core Data 和 Core Foundation 做完全不同的事情——两者都不是另一个合适的替代品。

于 2012-07-05T22:26:46.457 回答
0

这些是您可以链接并在代码中使用的库。苹果在其中使用的代码对我们来说是故意模糊的,通常你会使用 Objective-C 来使用它们(假设它们是用 Objective-C 编写的,但是有一些 C++ 库)。您可以链接这些库和许多其他 Apple 库。有关框架的描述,请参阅Apple 核心服务文档。有很多,而且它们种类繁多,范围太大,无法在这里描述。

于 2012-07-05T22:26:03.690 回答
0

实际上,它们都是完全不同的——它们是用 Objective-C 编写的,而不是 C++。无论如何,您都无法访问它们内部的代码,只能访问它们向您公开的接口,因此这实际上是无关紧要的。

Apple 开发者文档是一个很好的资源:

核心服务

核心数据

核心基础

于 2012-07-05T22:26:34.663 回答