linux autoconf版本,如何使用Autoconf檢查Linux版本?

博客探讨了如何在configure.ac文件中使用autoconf宏来检查操作系统的内核版本。作者提供了一种直接编写shell命令的方式,通过`uname -r`来获取内核版本并进行比较,以确保软件兼容性。然而,这种方法被指出可能过于简单,存在误判风险,比如对于版本号的比较可能不准确。建议更优的方法是检查特定功能是否存在,而非单纯依赖内核版本号。
摘要由CSDN通过智能技术生成

不要太深刻,並且正確編寫autoconf宏(無論如何,這是最好的)不要忘記configure.ac基本上是shell腳本由m4進行預處理。所以你可以直接編寫shell命令。

# prev. part of configure.ac

if test `uname -r |cut -d. -f1` -lt 2 then; echo "major v. error"; exit 1; fi

if test `uname -r |cut -d. -f2` -lt 6 then; echo "minor v. error"; exit 1; fi

if test `uname -r |cut -d. -f3` -lt 26 then; echo "micro error"; exit 1; fi

# ...

這只是一個想法,如果你想這樣做,避免爲autoconf編寫宏。這種選擇不好,但應該工作...

最好的方法是已經建議的:你應該檢查功能;所以說,在未來的內核中,timerfd不再可用......或者一些代碼被破壞了......自從測試版本以來,您將無法捕獲它。

編輯

由於用戶foof在評論中說,(與其他詞),它是檢查major.minor.micro一個天真的方式。例如。 3.5.1將會因爲5是6而失敗,但3.5.1會在2.6.26之後到來,所以(可能)它應該被接受。有很多技巧可以用來將x.y.z轉換爲一種表示形式,使每個版本都處於「自然」順序。例如。如果我們期望x,y或z不會比999大,我們可以做一些乘以1000000大小,1000小大小和1微的東西:因此,您可以將結果與2006026作爲Foof在評論中提出的建議進行比較, 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值