核心
核心是纯接口或小型实用程序的集合,这些接口或实用程序在整个项目中使用。核心组件是唯一不完全遵循组件模式的组件。核心和其他组件之间唯一的主要区别是使用的头文件前缀是 core/<sub_dir>
而不是 components/core/<sub_dir>
。
平台
平台是我们为项目在其上执行的物理硬件和操作系统给出的名称。我们支持多个平台,可以通过以下定义来识别
-
PLATFORM__ANDROID
-
PLATFORM__WINDOWS
-
PLATFORM__LINUX_D2D
-
PLATFORM__LINUX
-
PLATFORM__MACOS
使用这些平台对于示例应该是尽可能透明的。另一方面,如果需要,组件可能会添加特定于平台的代码路径。
应用程序可以使用 CUSTOM_MAIN(context_name)
宏来创建跨平台入口点
#include <core/platform/entrypoint.hpp>
CUSTOM_MAIN(context)
{
context.arguments();
context.external_storage_directory();
context.temp_directory();
// Components using platform specific contexts
FileSystem fs = FileSystem::from_context(context);
}