В чем разница между Время компиляции, Время загрузки и Время выполнения?Разница между временем компиляции, временем загрузки и временем выполнения?
- Может ли кто-нибудь объяснить мне эти три термина на очень простом языке?
- Было бы лучше понять, можете ли вы также привести некоторые примеры.
Cheers!
Контекст:
Классически, связывание инструкций и данных в адреса памяти может быть сделано на любом шаге по пути:
время компиляции. Компилятор переводит символические адреса в абсолютные адреса. Если вы знаете во время компиляции, когда процесс будет находиться в памяти, тогда может быть создан абсолютный код (Static).
Время загрузки. Компилятор преобразует символические адреса в относительные (перемещаемые) адреса. Погрузчик переводит их в абсолютные адреса. Если во время компиляции, когда процесс будет находиться в памяти, неизвестно, тогда компилятор должен создать перемещаемый код (Static).
Время исполнения. Если процесс может быть перемещен во время его выполнения из одного сегмента памяти в другой, то привязка должна быть отложена до времени выполнения. Абсолютные адреса генерируются аппаратным обеспечением. Большинство ОС общего назначения используют этот метод (динамический).
Не могли бы вы предоставить немного больше контекста? Где вы слышали об этих условиях? Без дополнительного контекста ответ будет немного неопределенным/общим, и найти примеры будет сложно. –
@ DanielJour отлично? –