在编写 MacOS 代码时,我可以使用几个选项。核心服务、核心基础和核心数据。他们之间有什么区别?它们是纯 C++ 代码吗?
4 回答
它们都执行不同的操作,并在 C 或 Objective-C 中实现:
核心服务:
该文档集为核心服务框架提供了 API 参考,其中包含 Carbon 应用程序使用的许多基本操作系统服务。
核心基础:
Core Foundation 是一个框架,它提供对应用程序服务、应用程序环境和应用程序本身有用的基本软件服务。Core Foundation 还提供通用数据类型的抽象,通过 Unicode 字符串存储促进国际化,并提供一套实用程序,例如插件支持、XML 属性列表、URL 资源访问和首选项。
核心数据:
这个文档集合提供了 Core Data 框架的 API 参考。Core Data 为 Foundation 和 Cocoa 应用程序提供对象图管理和持久性。有关更多详细信息,请参阅“核心数据基础”。
看苹果的图:
您可以立即看到核心服务是 MacOS 软件生态系统中的一个层,其中包括核心基础等等。Core Foundation 是基于 C 的,因此您当然可以从 C++ 轻松调用它,但并非核心服务层中的所有框架都具有仅 C 语言的 API。
Core Data 是 Core Services 层中的另一个框架,是带有 Objective-C API 的 Core Services API 的一个很好的例子。Core Data 和 Core Foundation 做完全不同的事情——两者都不是另一个合适的替代品。
这些是您可以链接并在代码中使用的库。苹果在其中使用的代码对我们来说是故意模糊的,通常你会使用 Objective-C 来使用它们(假设它们是用 Objective-C 编写的,但是有一些 C++ 库)。您可以链接这些库和许多其他 Apple 库。有关框架的描述,请参阅Apple 核心服务文档。有很多,而且它们种类繁多,范围太大,无法在这里描述。