代码拉取完成,页面将自动刷新
同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
bootstrap服务启动组件实现了服务的自动初始化,即服务的初始化函数无需显式调用,而是将其使用宏定义的方式申明,就会在系统启动时自动被执行。实现原理是将服务启动的函数通过宏定义的方式申明之后,放在预定义好的zInit代码段中,系统启动的时候调用OHOS_SystemInit接口遍历该代码段并调用其中的函数。因此,需要在链接脚本中添加zInit段,并且在main函数里调用OHOS_SystemInit接口。
zInit段的添加可参考已有的Hi3861平台的链接脚本,文件路径为vendor/hisi/hi3861/hi3861/build/link/link.ld.S。
用于实现服务的自动初始化的宏定义接口请参见启动恢复子系统的API接口文档。
bootstrap服务自动初始化宏如表1所述。
表1 主要的服务自动初始化宏
接口名 | 描述 |
---|---|
SYS_SERVICE_INIT(func) | 标识核心系统服务的初始化启动入口。 |
SYS_FEATURE_INIT(func) | 标识核心系统功能的初始化启动入口。 |
APP_SERVICE_INIT(func) | 标识应用层服务的初始化启动入口。 |
APP_FEATURE_INIT(func) | 标识应用层功能的初始化启动入口。 |
服务自动初始化宏使用实例:
void SystemServiceInit(void) {
printf("Init System Service\n");
}
SYS_SERVICE_INIT(SystemServiceInit);
void SystemFeatureInit(void) {
printf("Init System Feature\n");
}
SYS_FEATURE_INIT(SystemFeatureInit);
void AppServiceInit(void) {
printf("Init App Service\n");
}
APP_SERVICE_INIT(AppServiceInit);
void AppFeatureInit(void) {
printf("Init App Feature\n");
}
APP_FEATURE_INIT(AppFeatureInit);
// 日志打印顺序为:
// Init System Service
// Init System Feature
// Init App Service
// Init App Feature
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。