c - 是否有支持 `printk()` 的 `va_list` 函数?

标签 c linux-kernel

我目前正在编写一个 Linux 内核模块,我需要在我的一个函数中处理 va_list,它看起来像:

void blah(int flag, va_list va) {
    ...
    if (flag & BLAH_1) {
        ...
        printk(... va here ...); // where I need the printk() with va_list support
        ...
    }
    ...
}

所以我需要一个类似 printk() 的函数,它支持可变参数。就像 vprintf()printf()

我用 Google 搜索了 vprintk,但没有找到它。

最佳答案

您可以随时使用 vsnprintf()va_list 格式化为缓冲区,并将该缓冲区传递给 printk()

但是,一个 vprintk() function seems to exist in the kernel .

关于c - 是否有支持 `printk()` 的 `va_list` 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258203/

相关文章:

c++ - 内存块之间的逻辑操作?

c - 输入数字,显示最高、最低、平均值以及输入的数字数量。使用菜单

c - 如何从命令行使用创建的 Linux 内核字符驱动程序

c - 是否有 linux (gcc) 上使用的所有用户数据结构的引用

linux - 如何轻松确定函数是否可以在 Linux 内核中休眠?

Linux 内核 IIO 事件 sysfs 文件只可读

c - Unix 代码中的这个 C 可能有什么问题

c - #include C 中数组语法库?

c - wxDev-C++ 的 64 位编译器

linux - 如何为应用程序使用 AHCI SATA linux 驱动程序