Executable in the context of Compiler construction


Executable in the context of Compiler construction

Executable Study page number 1 of 1

Play TriviaQuestions Online!

or

Skip to study material about Executable in the context of "Compiler construction"


⭐ Core Definition: Executable

In computing, an executable is a resource that a computer can use to control its behavior. As with all information in computing, it is data, but distinct from data that does not imply a flow of control. Terms such as executable code, executable file, executable program, and executable image describe forms in which the information is represented and stored. A native executable is machine code and is directly executable at the instruction level of a CPU. A script is also executable although indirectly via an interpreter. Intermediate executable code (such as bytecode) may be interpreted or converted to native code at runtime via just-in-time compilation.

↓ Menu
HINT:

In this Dossier

Executable in the context of Computer program

A computer program is a sequence or set of instructions in a programming language for a computer to execute. It is one component of software, which also includes documentation and other intangible components.

A computer program in its human-readable form is called source code. Source code needs another computer program to execute because computers can only execute their native machine instructions. Therefore, source code may be translated to machine instructions using a compiler written for the language. (Assembly language programs are translated using an assembler.) The resulting file is called an executable. Alternatively, source code may execute within an interpreter written for the language.

View the full Wikipedia page for Computer program
↑ Return to Menu

Executable in the context of Library (computing)

In computing, a library is a collection of resources that can be used during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can be a collection of source code. A resource library may contain data such as images and text.

A library can be used by multiple, independent consumers (programs and other libraries). This differs from resources defined in a program which can usually only be used by that program. When a consumer uses a library resource, it gains the value of the library without having to implement it itself. Libraries encourage software reuse in a modular fashion. Libraries can use other libraries resulting in a hierarchy of libraries in a program.

View the full Wikipedia page for Library (computing)
↑ Return to Menu

Executable in the context of Compiler

In computing, a compiler is software that translates computer code written in one programming language (the source language) into another language (the target language). The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a low-level programming language (e.g. assembly language, object code, or machine code) to create an executable program.

There are many different types of compilers which produce output in different useful forms. A cross-compiler produces code for a different CPU or operating system than the one on which the cross-compiler itself runs. A bootstrap compiler is often a temporary compiler, used for compiling a more permanent or better optimized compiler for a language.

View the full Wikipedia page for Compiler
↑ Return to Menu

Executable in the context of Browser extension

A browser extension is a software module for customizing a web browser. Browsers typically allow users to install a variety of extensions, including user interface modifications, cookie management, ad blocking, and the custom scripting and styling of web pages.

Browser plug-ins are a different type of module and no longer supported by the major browsers. One difference is that extensions are distributed as source code, while plug-ins are executables (i.e. object code). The most popular browser, Google Chrome, has over 100,000 extensions available but stopped supporting plug-ins in 2020.

View the full Wikipedia page for Browser extension
↑ Return to Menu

Executable in the context of Dynamic linker

A dynamic linker is an operating system feature that loads and links dynamic libraries for an executable at runtime; before or while it is running. Although the details vary by operating system, typically, a dynamic linker copies the content of each library from persistent storage to RAM, fills jump tables and relocates pointers.

Linking is often referred to as a process that is performed when the executable is compiled, while a dynamic linker is a special part of an operating system that loads external shared libraries into a running process and then binds those shared libraries dynamically to the running process. This approach is also called dynamic linking or late linking.

View the full Wikipedia page for Dynamic linker
↑ Return to Menu

Executable in the context of Cross-compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on Android devices is a cross compiler.

A cross compiler is useful to compile code for multiple platforms from one development host. Direct compilation on the target platform might be infeasible, for example on embedded systems with limited computing resources.

View the full Wikipedia page for Cross-compiler
↑ Return to Menu

Executable in the context of Loader (computing)

In computing, a loader is the part of an operating system that is responsible for loading programs and libraries. It is one of the essential stages in the process of starting a program, as it places programs into memory and prepares them for execution. Loading a program involves either memory-mapping or copying the contents of the executable file containing the program instructions into memory, and then carrying out other required preparatory tasks to prepare the executable for running. Once loading is complete, the operating system starts the program by passing control to the loaded program code.

All operating systems that support program loading have loaders, apart from highly specialized computer systems that only have a fixed set of specialized programs. Embedded systems typically do not have loaders, and instead, the code executes directly from ROM or similar. In order to load the operating system itself, as part of booting, a specialized boot loader is used. In many operating systems, the loader resides permanently in memory, though some operating systems that support virtual memory may allow the loader to be located in a region of memory that is pageable.

View the full Wikipedia page for Loader (computing)
↑ Return to Menu

Executable in the context of Linker (computing)

A linker or link editor is a computer program that combines intermediate software build files such as object and library files into a single executable file such as a program or library. A linker is often part of a toolchain that includes a compiler and/or assembler that generates intermediate files that the linker processes. The linker may be integrated with other toolchain tools such that the user does not interact with the linker directly.

A simpler version that writes its output directly to memory is called the loader, though loading is typically considered a separate process.

View the full Wikipedia page for Linker (computing)
↑ Return to Menu

Executable in the context of Dynamic library

A dynamic library is a library that contains functions and data that can be consumed by a computer program at run-time as loaded from a file separate from the program executable. Dynamic linking or late binding allows for using a dynamic library by linking program library references with the associated objects in the library either at load-time or run-time. At program build-time, the linker records what library objects the program uses. When the program is run, a dynamic linker or linking loader associates program library references with the associated objects in the library.

A dynamic library can be linked at build-time to a stub for each library resource that is resolved at run-time. Alternatively, a dynamic library can be loaded without linking to stubs.

View the full Wikipedia page for Dynamic library
↑ Return to Menu

Executable in the context of Binary-code compatibility

Binary-code compatibility (binary compatible or object-code compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer central processing unit (CPU), that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

For a compiled program on a general operating system, binary compatibility often implies that not only the CPUs (instruction sets) of the two computers are binary compatible, but also that interfaces and behaviours of the operating system (OS) and application programming interfaces (APIs), and the application binary interfaces (ABIs) corresponding to those APIs, are sufficiently equal, i.e. "compatible".

View the full Wikipedia page for Binary-code compatibility
↑ Return to Menu

Executable in the context of No-disc crack

A No-disc crack, No-CD crack or No-DVD crack is an executable file or a special "byte patcher" program which allows a user to circumvent certain Compact Disc and DVD copy protection schemes. They allow the user to run computer software without having to insert their required CD-ROM or DVD-ROM. This act is a form of software cracking. No-CD cracks specific to a variety of games and other software distributed on CD-ROM or DVD-ROM can be found on the Internet from various reverse engineering websites or file sharing networks. No-CD cracks have legal uses, such as creating backups of legally owned software (a user right by law in many countries) or avoiding the inconvenience of placing a CD or DVD-ROM in the drive every time the software is being used, although they can also be used to circumvent laws in many countries by allowing the execution of full versions of non-legally owned applications or time-limited trials of the applications without the original disc.

In addition to cracked executable files or byte patchers, CD protection can sometimes be thwarted by producing a mini image containing only enough of the software's CD-ROM contents needed to bypass protection. This image can then be mounted with a disk image emulator such as Daemon Tools to "trick" the user's computer's operating system (OS) into believing that the disk image is a physical optical disk inserted into a physical optical drive attached to the computer. As a side benefit, data from mounted disk images generally load much faster than a real disk would because the data is stored on the hard drive. Some programs, however, attempt to discover such disk image emulators and will refuse to work if one is found. Other programs exist that attempt to hide the presence of disk image emulators from such protected software. However, if some of the software was running in a virtualization suite such as Windows Virtual PC or VirtualBox, the guest OS will further be confused into thinking it is the "physical" disc.

View the full Wikipedia page for No-disc crack
↑ Return to Menu

Executable in the context of Decompiler

A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate executables into assembly language, decompilers go a step further by reconstructing the disassembly into higher-level languages like C. Due to the one-way nature of the compilation process, decompilers usually cannot perfectly recreate the original source code. They often produce obfuscated and less readable code.

View the full Wikipedia page for Decompiler
↑ Return to Menu

Executable in the context of Freely redistributable software

Freely redistributable software (FRS) is software that anyone is free to redistribute. The term has been used to mean two types of free-to-redistribute software, distinguished by the legal modifiability and limitations on the purpose of use of the software. FRS which can be legally modified and used for any purpose is the same as free software. Non-legally modifiable FRS is freeware, shareware, or similar.

The non-modifiable FRS generally comes in the form of executable binaries. Proprietary software companies and authors often use it to showcase their work or encourage users to buy full products from them (in the case of shareware, demo, or trial versions). Freeware that is not restricted to be obtained from a specific distributor is also FRS.

View the full Wikipedia page for Freely redistributable software
↑ Return to Menu