#鸿蒙通关秘籍#如何初始化鸿蒙轻内核的任务排序链表?

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hm673ff1119fd7d

在系统内核初始化阶段,通过调用OsTaskInit函数来初始化任务排序链表。这个函数首先计算链表所需的内存大小,为32个链表节点申请内存空间。然后,初始化申请的内存区域,将其作为排序链表的头,并初始化游标。

c UINT32 OsTaskInit(VOID) { UINT32 size = sizeof(LOS_DL_LIST) * OS_TSK_SORTLINK_LEN; LOS_DL_LIST *listObject = (LOS_DL_LIST *)LOS_MemAlloc(m_aucSysMem0, size); memset_s((VOID *)listObject, size, 0, size); g_taskSortLink.sortLink = listObject; g_taskSortLink.cursor = 0; for (UINT32 index = 0; index < OS_TSK_SORTLINK_LEN; index++, listObject++) { LOS_ListInit(listObject); } return LOS_OK; }

分享
微博
QQ
微信
回复
5天前
相关问题