Tempo de compilação - Compile time

Na ciência da computação , o tempo de compilação (ou tempo de compilação ) se refere às operações realizadas por um compilador (as "operações de tempo de compilação"), aos requisitos de linguagem de programação que devem ser atendidos pelo código-fonte para que seja compilado com sucesso (o " requisitos de tempo de compilação ") ou propriedades do programa que podem ser consideradas durante a compilação. O tempo de compilação se refere ao tempo em que o código de programação é convertido em código de máquina (ou seja, código binário) e geralmente ocorre antes do tempo de execução .

Tempo de compilação / ligação inicial vs tempo de execução

A determinação do modelo de execução foi definida durante a fase de tempo de compilação. Tempo de execução - o método de execução e alocação foi definido durante o tempo de execução e com base na dinâmica do tempo de execução.

Visão geral

As operações realizadas em tempo de compilação geralmente incluem análise de sintaxe , vários tipos de análise semântica (por exemplo, verificações de tipo e instanciação de modelo ) e geração de código .

As definições da linguagem de programação geralmente especificam os requisitos de tempo de compilação que o código-fonte deve atender para ser compilado com êxito. Por exemplo, as linguagens podem estipular que a quantidade de armazenamento exigida por tipos e variáveis ​​pode ser deduzida.

Propriedades de um programa que podem ser raciocinadas em tempo de compilação incluem verificações de intervalo (por exemplo, provar que um índice de array não excederá os limites do array), liberdade de deadlock em linguagens concorrentes ou temporizações (por exemplo, provar que uma sequência de código leva não mais do que uma quantidade de tempo alocada).

O tempo de compilação ocorre antes do tempo de link (quando a saída de um ou mais arquivos compilados são reunidos) e do tempo de execução (quando um programa é executado ). Em algumas linguagens de programação, pode ser necessário que alguma compilação e links ocorram no tempo de execução. Há uma compensação entre o tempo de compilação e o tempo de link em que muitas operações de tempo de compilação podem ser adiadas para o tempo de link sem incorrer em tempo de execução extra.


"Tempo de compilação" também pode se referir ao tempo necessário para a compilação.

Veja também