web-dev-qa-db-fra.com

Pourquoi 'bc' est-il requis pour construire le noyau Linux?

Les exigences minimales de construction du noyau Linux spécifie que la calculatrice bc est requise pour construire le noyau v4.10, la version minimale de l'outil étant 1.06.95.

Quelle utilisation est faite de bc dans ce contexte, et pourquoi le langage C n'est-il pas directement utilisé au lieu de bc pour ces opérations?

66
Ikaros

bc est utilisé pendant la construction du noyau pour générer des constantes de temps dans les fichiers d'en-tête. Vous pouvez le voir invoqué dans Kbuild , où il traite kernel/time/timeconst.bc pour générer timeconst.h.

Ce pourrait être implémenté comme un programme C qui est construit et exécuté pendant la construction, mais il est plus facile d'utiliser bc (qui est petit et commun; en fait, il fait partie de l'ensemble d'outils qui sont obligatoires sur les systèmes POSIX - le noyau attend cependant GNU bc).

bc est utilisé ici au lieu de Perl . Le message de validation suggère que bc a été utilisé précédemment, mais je ne trouve aucune trace de cela; Perl est utilisé depuis 2008 (beaucoup à le chagrin de certaines personnes , bien que cet ensemble de correctifs n'ait jamais été fusionné).

83
Stephen Kitt