为什么需要“bc”来构建 Linux 内核?

Ika*_*ros 66 bc linux-kernel

Linux 内核最低构建要求指定计算器bc需要构建内核 v4.10,该工具的最低版本为1.06.95.

bc在这种情况下有什么用,为什么不直接使用 C 语言来代替bc这些操作?

Ste*_*itt 83

bc在内核构建期间用于在头文件中生成时间常数。您可以看到它在 中Kbuild被调用,并在其中处理kernel/time/timeconst.bc以生成timeconst.h。

这可以作为在构建过程中构建和运行的 C 程序来实现,但它更易于使用bc(它小而常见;实际上它是 POSIX 系统上强制性工具集的一部分 - 内核确实期望bc虽然是GNU )。

bc在这里使用而不是 Perl。提交消息表明bc以前使用过,但我找不到它的踪迹;Perl 从 2008 年开始使用(让一些人非常懊恼,尽管那个补丁集从未合并过)。