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


66

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

De que uso é feito bcnesse contexto e por que a linguagem C não é usada diretamente, e não bcpara essas operações?


10
O que você quer dizer com usar C diretamente ? Eu não acho que usar C como uma "linguagem de script" durante a compilação seja direto ou útil.
precisa saber é o seguinte

4
@ cubuspl42 você pode simplesmente escrever as operações na fonte, e deixar o compilador calculá-las em constantes. Na realidade, o que é usado é um pouco complicado demais para isso.
parar de prejudicar Monica

Respostas:


83

bcé usado durante a construção do kernel para gerar constantes de tempo nos arquivos de cabeçalho. Você pode vê-lo invocado emKbuild , onde se processa kernel/time/timeconst.bca gerar timeconst.h.

Isso pode ser implementado como um programa C que é criado e executado durante a compilação, mas é mais fácil de usar bc(que é pequeno e comum; de fato, faz parte do conjunto de ferramentas obrigatórias em sistemas POSIX - o kernel espera GNU bc).

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.