it-swarm.com.de

Warum ist 'bc' erforderlich, um den Linux-Kernel zu erstellen?

Die minimalen Build-Anforderungen des Linux-Kernels gibt an, dass der Rechner bc zum Erstellen des Kernels v4.10 erforderlich ist, wobei die minimale Version des Tools 1.06.95 Ist.

Welche Verwendung wird in diesem Zusammenhang von bc verwendet, und warum wird für diese Operationen nicht direkt die C-Sprache anstelle von bc verwendet?

66
Ikaros

bc wird während des Kernel-Builds verwendet, um Zeitkonstanten in Header-Dateien zu generieren. Sie können sehen, dass es aufgerufen wird in Kbuild , wo es verarbeitet kernel/time/timeconst.bc um timeconst.h.

Dieses könnte als C-Programm implementiert werden, das während des Builds erstellt und ausgeführt wird, aber es ist einfacher, bc (das klein ist) zu verwenden und häufig; tatsächlich ist es Teil der Tools, die auf POSIX-Systemen obligatorisch sind - der Kernel erwartet jedoch GNU bc).

bc wird hier verwendet anstelle von Perl . Die Commit-Nachricht weist darauf hin, dass bc zuvor verwendet wurde, aber ich kann keine Spur davon finden. Perl wird seit 2008 verwendet (sehr zu Ärger einiger Leute , obwohl dieses Patch-Set nie zusammengeführt wurde).

83
Stephen Kitt