![为什么构建 Linux 内核需要“bc”?](https://linux22.com/image/132040/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9E%84%E5%BB%BA%20Linux%20%E5%86%85%E6%A0%B8%E9%9C%80%E8%A6%81%E2%80%9Cbc%E2%80%9D%EF%BC%9F.png)
Linux 内核的最低构建要求指定计算器bc
需要构建内核 v4.10,该工具的最低版本是1.06.95
。
在这种情况下有什么用处bc
,为什么不直接使用C语言来代替bc
这些操作?
答案1
bc
在内核构建期间使用以在头文件中生成时间常数。可以看到它被调用了在Kbuild
,它处理的地方kernel/time/timeconst.bc
生成timeconst.h
.
这可以可以作为在构建过程中构建和运行的 C 程序来实现,但它更易于使用bc
(它很小且常见;事实上,它是 POSIX 系统上强制使用的工具集的一部分 —bc
尽管内核确实期望使用 GNU )。
bc
这里使用的是而不是 Perl。提交消息表明bc
以前使用过,但我找不到它的踪迹;Perl 从 2008 年开始使用(很大程度上一些人的懊恼,尽管该补丁集从未合并)。