Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Execution (computing)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Runtime== '''Runtime''', '''run time''', or '''execution time''' is the final phase of a [[computer program]]{{'}}s [[Program lifecycle phase|life cycle]], in which the code is being executed on the computer's [[central processing unit]] (CPU) as [[machine code]]. In other words, "runtime" is the running phase of a program. A [[Runtime error detection|runtime error is detected]] after or during the execution (running state) of a program, whereas a [[Compile time|compile-time]] error is detected by the [[compiler]] before the program is ever executed. [[Type checking]], [[register allocation]], [[code generation (compiler)|code generation]], and code optimization are typically done at compile time, but may be done at runtime depending on the particular language and compiler. Many other runtime errors exist and are handled differently by different [[Programming language|programming languages]], such as [[division by zero]] errors, domain errors, [[Bounds checking|array subscript out of bounds]] errors, [[arithmetic underflow]] errors, several types of underflow and [[overflow (disambiguation)|overflow]] errors, and many other runtime errors generally considered as software bugs which may or may not be caught and handled by any particular computer language. === Implementation details === When a program is to be executed, a [[loader (computing)|loader]] first performs the necessary [[memory (computers)|memory]] setup and links the program with any [[dynamic linking|dynamically linked]] [[software library|libraries]] it needs, and then the execution begins starting from the program's [[entry point]]. In some cases, a language or implementation will have these tasks done by the language runtime instead, though this is unusual in mainstream languages on common consumer operating systems. Some program debugging can only be performed (or is more efficient or accurate when performed) at runtime. [[Logic error]]s and [[array data structure|array]] bounds checking are examples. For this reason, some programming [[software bug|bugs]] are not discovered until the program is tested in a [[production environment]] with real data, despite sophisticated compile-time checking and pre-release testing. In this case, the end-user may encounter a "runtime error" message. === Application errors (exceptions) === [[Exception handling]] is one language feature designed to handle runtime errors, providing a structured way to catch completely unexpected situations as well as predictable errors or unusual results without the amount of inline error checking required of languages without it. More recent advancements in runtime engines enable [[automated exception handling]] which provides "root-cause" debug information for every exception of interest and is implemented independent of the source code, by attaching a special software product to the runtime engine.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)