ИМХО вам нужно прочитать много ссылок, ресурсов, чтобы составить представление о разнице между временем выполнения и временем компиляции, потому что это очень сложный вопрос.
У меня есть список ниже некоторых из этих фотографий / ссылок, которые я рекомендую.
Помимо сказанного выше, хочу добавить, что иногда картинка стоит 1000 слов:
- порядок этих двух: сначала время компиляции, а затем вы запускаете
Скомпилированная программа может быть открыта и запущена пользователем. Когда приложение работает, оно называется временем выполнения:
время компиляции и затем runtime1
;
CLR_diag время компиляции и затем время выполнения2
from Wiki
https://en.wikipedia.org/wiki/Run_time
https://en.wikipedia.org/wiki/Run_time_(program_lifecycle_phase)
Время выполнения, время выполнения или время выполнения может означать:
Вычислительный
Время выполнения (фаза жизненного цикла программы) , период, в течение которого компьютерная программа выполняет
Библиотека времени выполнения , библиотека программ, предназначенная для реализации функций, встроенных в язык программирования
Система исполнения , программное обеспечение, предназначенное для поддержки выполнения компьютерных программ
Выполнение программного обеспечения, процесс выполнения инструкций одна за другой во время фазы выполнения
Список компиляторов
https://en.wikipedia.org/wiki/List_of_compilers
- поиск в Google и сравнение ошибок времени выполнения и ошибок компиляции:
;
- На мой взгляд, очень важная вещь, которую нужно знать:
3.1 разница между сборкой и компиляцией и жизненным циклом сборки
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
3.2 разница между этими 3 вещами: компиляция против сборки против времени выполнения
https://www.quora.com/What-is-the-difference-between-build-run-and-compile
Фернандо Падоан, разработчик, который немного интересуется языковым дизайном
Ответил 23 февраля
Я возвращаюсь назад по отношению к другим ответам:
выполняется, чтобы получить некоторый двоичный исполняемый файл (или сценарий для интерпретируемых языков), который будет… хорошо выполняться как новый процесс на компьютере;
Компиляция - это процесс синтаксического анализа программы, написанной на каком-либо языке высокого уровня (более высокого по сравнению с машинным кодом), проверки ее синтаксиса, семантики, связывания библиотек, возможно, выполнения некоторой оптимизации, а затем создания двоичной исполняемой программы в качестве вывода. Этот исполняемый файл может быть в форме машинного кода или какого-то байт-кода, то есть инструкций, ориентированных на какую-то виртуальную машину;
Сборка обычно включает в себя проверку и предоставление зависимостей, проверку кода, компиляцию кода в двоичный файл, запуск автоматических тестов и упаковку полученных двоичных файлов и других ресурсов (изображений, файлов конфигурации, библиотек и т. д.) в некоторый определенный формат развертываемого файла. Обратите внимание, что большинство процессов необязательны, а некоторые зависят от целевой платформы, для которой вы строите. В качестве примера, упаковка Java-приложения для Tomcat выведет .war-файл. Сборка исполняемого файла Win32 из кода C ++ может просто выводить программу .exe или упаковывать ее в установщик MSI.