首页 > 解决方案 > 尝试包含 vsnprintf 的标头会在编译时引发错误

问题描述

vsnprintf内核中的头文件是什么?谁能告诉我这个,我有内核 5.14,我不确定我的系统上默认的标头是什么。我安装了许多不同的内核头文件,它们是:

linux-headers-5.11.0-25
linux-headers-5.11.0-40
linux-headers-5.11.0-25-generic
linux-headers-5.11.0-40-generic
linux-headers-5.11.0-38
linux-headers-5.11.0-38-generic

哪一个应该是默认的?但是我想问一下函数的头文件是vsnprintf什么?

标签: clinuxubuntulinux-kernellinux-kernel-headers

解决方案


查看 Linux v5.11 的源代码,正确的标头似乎是linux/kernel.h. 它与 Linux v5.14 的文件相同。

要检查您应该为当前运行的内核使用哪些头文件,请使用uname -r应该告诉您正确版本的命令。然后,您可以使用这些和适当的编译Makefile:有关更多信息,请参阅文档


推荐阅读