What is the difference between run-time and compile-time?
IMHO you need to read many links , resources to make an idea about the difference between Runtime vs Compile time because it is a very complex subject . I have list below some of this pictures/links that I am recommend .
Apart from what it is said above I want to add that sometimes a picture worth 1000 words :
; CLR_diag compile time and then runtime2

from Wiki
https://en.wikipedia.org/wiki/Run_time https://en.wikipedia.org/wiki/Run_time_(program_lifecycle_phase)
Run time, run-time, or runtime may refer to:
Computing
Run time (program lifecycle phase), the period during which a computer program is executing
Runtime library, a program library designed to implement functions built into a programming language
Runtime system, software designed to support the execution of computer programs
Software execution, the process of performing instructions one by one during the run time phase
List of compilers https://en.wikipedia.org/wiki/List_of_compilers

;
3.2 the difference between this 3 things : compile vs build vs runtime
https://www.quora.com/What-is-the-difference-between-build-run-and-compile Fernando Padoan, A developer that's just a bit curious for language design Answered Feb 23 I’m going backwards in relation to other answers:
running is getting some binary executable (or a script, for interpreted languages) to be, well… executed as a new process on the computer; compiling is the process of parsing a program written in some high level language (higher if compared to machine code), checking it’s syntax, semantics, linking libraries, maybe doing some optimization, then creating a binary executable program as an output. This executable may be in the form of machine code, or some kind of byte code — that is, instructions targeting some kind of virtual machine; building usually involves checking and providing dependencies, inspecting code, compiling the code into binary, running automated tests and packaging the resulting binary[ies] and other assets (images, configuration files, libraries, etc.) into some specific format of deployable file. Note that most processes are optional and some depend on the targeted platform you are building for. As an example, packaging a Java application for Tomcat will output a .war file. Building a Win32 executable out of C++ code could just output the .exe program, or could also package it inside a .msi installer.