||This article needs attention from an expert on the subject. (July 2008)|
In computer programming, a self-relocating program is a program that relocates its own address-dependent instructions and data when run, and is therefore capable of being loaded into memory at any address. Self-relocating code is a form of self modifying code.
Self-relocation is similar to the relocation process employed by the linker-loader when a program is copied from external storage into main memory; the difference is that it is the loaded program rather than the loader that performs the relocation.
As an extreme example of self-relocation it is possible to construct a computer program so that it does not stay at a fixed address in memory, even as it executes. The Apple Worm is a dynamic self-relocator.
|This computing article is a stub. You can help Wikipedia by expanding it.|