我想知道是否有一个gcc宏可以告诉我Linux内核的版本,这样我就可以适当地设置变量类型。如果没有,我将如何定义自己的宏来实现这一点
linux/version.h文件中有一个名为KERNEL\u version
的宏,该宏允许您根据当前安装的linux头版本(linux\u version\u code
)检查所需的版本。例如,要检查当前Linux标头是否适用于内核v2.6.16或更早版本,请执行以下操作:
#包括<;linux/version.h>;
#如果LINUX_版本_代码<;=内核_版本(2,6,16)
...
#否则
...
#恩迪夫
在运行时获取版本信息的更好方法是使用include/linux/utsname.h中的utsname
函数
char*my\u kernel\u version=utsname()->;释放
这就是/proc/version
获取当前内核验证的基本方式
另见
在运行时从linux内核模块获取内核版本