是否有宏定义可以检查Linux内核版本?

我想知道是否有一个gcc宏可以告诉我Linux内核版本,以便我可以适当地设置变量类型。如果没有,我将如何定义自己的宏呢?

回答:

的文件有一个名为宏KERNEL_VERSION可以让你检查要对当前的Linux版本头(版本LINUX_VERSION_CODE)安装。例如,检查当前的Linux标头是否适用于内核

v2.6.16 或更早版本:

#include <linux/version.h>

#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,16)

...

#else

...

#endif

在运行时获取版本信息的更好方法是使用include / linux / utsname.h中的utsname函数。

char *my_kernel_version = utsname()->release;

从本质/proc/version上讲,这就是获取当前内核版本的方法。

以上是 是否有宏定义可以检查Linux内核版本? 的全部内容, 来源链接: utcz.com/qa/421853.html

回到顶部