%r在内核printf格式中是什么意思?

好人

在内核源代码的许多地方,我可以找到它:

一个例子是

if (console_sc != NULL && console_sc->vtermid == sc->vtermid) {
        sc->outseqno = console_sc->outseqno;
        console_sc = sc;
        sprintf(uart_phyp_consdev.cn_name, "ttyu%r", unit);
        tty_init_console(sc->tp, 0);
}

另一个示例是:

        if (!(vw->vw_flags & VWF_READY)) {
                callout_init(&vw->vw_proc_dead_timer, 0);
                terminal_maketty(vw->vw_terminal, "v%r", VT_UNIT(vw));
                vw->vw_flags |= VWF_READY;
                if (vw->vw_flags & VWF_CONSOLE) {
                        /* For existing console window. */
                        EVENTHANDLER_REGISTER(shutdown_pre_sync,
                            vt_window_switch, vw, SHUTDOWN_PRI_DEFAULT);
                }
        }

但是,如果我在sprintf手册页中查找,则找不到对'r'格式说明符的任何引用。

它有什么作用,在哪里记录?

天真

查阅sprintf手册页。它说:

%r使用当前DDB基数显示整数。%r的这种非标准解释仅适用于db_printf()。

这里是有关DDB的更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章