是否有宏定义可以检查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