Ouvi falar de coisas como "C Runtime", "Visual C ++ 2008 Runtime", ".NET Common Language Runtime", etc.
- O que é exatamente " tempo de execução "?
- Do que isso é feito?
- Como ele interage com meu código? Ou talvez mais precisamente, como meu código é controlado por ele?
Ao codificar a linguagem assembly no Linux, eu poderia usar a instrução INT para fazer a chamada do sistema. Então, o tempo de execução nada mais é do que um monte de funções pré-fabricadas que agrupam a função de baixo nível em funções mais abstratas e de alto nível? Mas isso não parece mais a definição da biblioteca, não do tempo de execução?
O "tempo de execução" e a " biblioteca de tempo de execução " são duas coisas diferentes?
ADICIONAR 1
Hoje em dia, acho que talvez o Runtime tenha algo em comum com a chamada Máquina Virtual , como a JVM. Aqui está a citação que leva a esse pensamento:
Esse processo de compilação é suficientemente complexo para ser dividido em várias camadas de abstração, e geralmente envolve três tradutores: um compilador, uma implementação de máquina virtual e um montador. --- Os elementos dos sistemas de computação (introdução, o caminho até a terra do hardware)
ADICIONAR 2
O livro Expert C Programming: Deep C Secrets . O Capítulo 6 Estruturas de dados de tempo de execução é uma referência útil a esta pergunta.
runtime library
código de controle mais e algum estado (fornecido pelo sistema operacional).