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


66

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

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


10
直接使用C是什么意思?我不认为在构建过程中使用C作为“脚本语言”是直接或方便的。
cubuspl42 '18

4
@ cubuspl42,您可以只在源代码中编写操作,然后让编译器将其计算为常量。实际上,它的用途有点太复杂了。
OrangeDog

Answers:


83

bc在内核构建过程中用于在头文件中生成时间常数。您可以看到它Kbuildkernel/time/timeconst.bc生成过程中被调用timeconst.h

可以被实现为构建和生成过程中运行一个C程序,但它更容易使用bc(这是小的,共同的;实际上它是一套这是在POSIX的系统中强制手段的一部分-的内核并期待GNU bc)。

bc在这里代替Perl使用。提交消息表明bc以前使用过该消息,但我找不到它的踪迹。自2008年以来就使用了Perl(虽然从未合并过该补丁集,但很多对此感到不满)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.