Время компиляции

редактировать

В информатике, время компиляции относится либо к операциям, выполняемым компилятором («операции времени компиляции»), язык программирования требования, которым должен соответствовать исходный код для его успешного выполнения iled («требования времени компиляции») или свойства программы, о которых можно подумать во время компиляции. Время компиляции относится к продолжительности времени, в течение которого программный код преобразуется в машинный код (т. Е. Двоичный код) и обычно происходит до среды выполнения.

Обзор

Операции, выполняемые во время компиляции, обычно включают синтаксический анализ, различные виды семантического анализа (например, проверка типа и создание экземпляра шаблона ) и генерация кода.

Определения языков программирования обычно указывают требования к времени компиляции, которым должен соответствовать исходный код для успешной компиляции. Например, в языках может быть оговорено, что объем памяти, необходимый для типов и переменных, может быть вычислен.

Свойства программы, которые могут быть рассмотрены во время компиляции, включают проверки диапазона (например, доказательство того, что индекс массива не выходит за границы массива), свободу тупиковых ситуаций в параллельных языках, или тайминги (например, доказательство того, что последовательность кода занимает не более выделенного количества времени).

Время компиляции происходит до времени компоновки (когда вывод одного или нескольких скомпилированных файлов объединяется) и времени выполнения (когда программа выполнено ). В некоторых языках программирования может потребоваться некоторая компиляция и компоновка во время выполнения. Существует компромисс между временем компиляции и временем компоновки, поскольку многие операции времени компиляции можно отложить до времени компоновки без дополнительных затрат времени выполнения.

«Время компиляции» также может относиться к количеству времени, необходимому для компиляции.

См. Также
Последняя правка сделана 2021-05-15 08:11:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте