bootloader 命令行标记部分的疑惑

发布于 2022-10-15 05:02:20 字数 1373 浏览 13 评论 0

static void setup_commandline_tag (bd_t *bd, char *commandline)
{
        char *p;

        if (!commandline)
                return;

        /* eat leading white space */
        for (p = commandline; *p == ' '; p++);

        /* skip non-existent command lines so the kernel will still
         * use its default command line.
         */
        if (*p == '\0')
                return;

        params->hdr.tag = ATAG_CMDLINE;
        params->hdr.size =
                (sizeof (struct tag_header) + strlen (p) + 1 + 4) >> 2;
       
                 
                strcpy (params->u.cmdline.cmdline, p);

        params = tag_next (params);
}

在bootloader中,为什么红色部分是加1,然后加4,之后除2呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文