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 12: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.