printk loff_ttypes的格式说明符?

我正在为一个学校任务开发一个Linux字符设备驱动程序,并且不知道如何打印传入我的读取函数的types为loff_t*ppos

我知道我必须使用printk而不是内核中的标准库printf ,但我似乎无法弄清楚适当的格式说明符。

loff_t只是一个typedef。 要确定使用哪种格式说明符,您应该查找它的定义:

  • typedef __kernel_loff_t loff_t
  • typedef long long __kernel_loff_t

然后你可以参考内核的文档来看看如何格式化一个“long long”(%lld)。