1. A method for generating an object file optimized for a plurality of processor architectures, the method comprising the computer implemented steps of: reading a source code that includes common source code instructions and a plurality of per-processor instruction sets each associated with one of a plurality of processor architectures; compiling the source code, wherein the common source code instructions are compiled into a common layer, and wherein the plurality of per-processor instruction sets are compiled into a virtualization layer; generating an object file comprising the common layer, the virtualization layer, and a manifest that defines respective associations between each of the plurality of processor architectures and one of the per-processor instruction sets; compiling a particular one of the plurality one of the plurality of pre-processor instruction sets to create particular data and particular text that are associated with a particular one of the plurality of processor architectures; and linking the object file to produce an executable file, wherein the executable file includes binary data derived from the common data, binary data derived from the common text, binary data derived from the particular data, and binary data derived from the particular text, wherein the binary data derived from the common data and binary data derived from the common text are always included in an executable file that is generated using the object file.