Описание тега compile-time
В информатике время компиляции относится либо к операциям, выполняемым компилятором ("операции времени компиляции"), либо к требованиям языка программирования, которым должен соответствовать исходный код для его успешной компиляции ("требования времени компиляции" ") или свойства программы, о которых можно подумать во время компиляции.
Операции, выполняемые во время компиляции, обычно включают синтаксический анализ, различные виды семантического анализа (например, проверки типов и создание экземпляра шаблона) и генерацию кода.
Определения языков программирования обычно указывают требования ко времени компиляции, которым должен соответствовать исходный код для успешной компиляции. Например, можно вывести объем памяти, необходимый для типов и переменных.
Свойства программы, о которых можно рассуждать во время компиляции, включают проверки диапазона (например, доказательство того, что индекс массива не превышает границы массива), свободу тупиковых ситуаций в параллельных языках или тайминги (например, доказательство того, что последовательность кода принимает не более выделенного количества времени).
Время компиляции происходит до времени компоновки (когда вывод одного или нескольких скомпилированных файлов объединяется) и времени выполнения (когда программа выполняется).
В некоторых языках программирования может потребоваться некоторая компиляция и компоновка во время выполнения.
Существует компромисс между временем компиляции и временем компоновки, поскольку многие операции времени компиляции можно отложить до времени компоновки без дополнительных затрат времени выполнения.
"Время компиляции" также может означать количество времени, необходимое для компиляции.
Источник: Википедия