Difference between revisions of "Cross-compiler"
| m (better cat) |  (Canadian cross.) | ||
| Line 2: | Line 2: | ||
| Cross-compilers and cross-assemblers have a variety of uses: bringing up an [[operating system]] on a new machine, or creating code for a system (e.g. an [[embedded processor]]) on which it is not intended to host a software development environment, etc, etc. | Cross-compilers and cross-assemblers have a variety of uses: bringing up an [[operating system]] on a new machine, or creating code for a system (e.g. an [[embedded processor]]) on which it is not intended to host a software development environment, etc, etc. | ||
| + | |||
| + | It is of course possible to cross-compile a cross-compiler.  In the general case, this involves three types of CPUs: the ''build machine'' is doing the cross-compilation, the ''host machine'' is for running the new cross-compiler, which creates object code for the ''target machine''.  This technique is called '''Canadian cross-compilation'''. | ||
| {{semi-stub}} | {{semi-stub}} | ||
| [[Category:Software Concepts]] | [[Category:Software Concepts]] | ||
Revision as of 11:51, 13 April 2022
A cross-compiler is a compiler which runs on one type of CPU, but creates object code for a different type of CPU. A cross-assembler is similar - an assembler which produces object code for a different type of machine.
Cross-compilers and cross-assemblers have a variety of uses: bringing up an operating system on a new machine, or creating code for a system (e.g. an embedded processor) on which it is not intended to host a software development environment, etc, etc.
It is of course possible to cross-compile a cross-compiler. In the general case, this involves three types of CPUs: the build machine is doing the cross-compilation, the host machine is for running the new cross-compiler, which creates object code for the target machine. This technique is called Canadian cross-compilation.

