Por que o 'bc' é necessário para construir o kernel do Linux?

65

Os requisitos mínimos de construção do kernel Linux especificam que a calculadora bc é necessário para construir o kernel v4.10, a versão mínima da ferramenta sendo 1.06.95 .

Qual é o uso de bc neste contexto e por que a linguagem C não é usada diretamente em vez de bc para essas operações?

    
por Ikaros 23.04.2018 / 15:45

1 resposta

83

bc é usado durante a compilação do kernel para gerar constantes de tempo em arquivos de cabeçalho. Você pode ver que ele invoca em Kbuild , onde ele processa kernel/time/timeconst.bc para gerar timeconst.h .

Este poderia ser implementado como um programa em C que é construído e executado durante a construção, mas é mais fácil usar bc (que é pequeno e comum; na verdade, é parte do conjunto de ferramentas que são obrigatórias em sistemas POSIX - o kernel espera o GNU bc embora.

bc é usado aqui em vez de Perl . A mensagem de confirmação sugere que bc foi usado anteriormente, mas não consigo encontrar um traço disso; O Perl é usado desde 2008 ( muito para o desgosto de algumas pessoas , embora esse conjunto de patches nunca tenha sido mesclado).

    
por 23.04.2018 / 15:50