Les compilateurs croisés sont des dispositifs qui sont capables de fabriquer un code exécutable qui peut être exécuté sur une plate-forme qui n'est pas actuellement la plate-forme résident pour le compilateur. L'utilisation d'un compilateur croisé est commune quand il est nécessaire de faire usage de plusieurs plates-formes afin de gérer les fonctions de calcul. Il s'agira notamment de systèmes embarqués où chaque ordinateur intégré dans le système dispose d'une petite quantité de ressources. L'utilisation d'un compilateur croisé, il est possible de surmonter ce manque de ressources par la création d'une exécution interdépendante entre les différents composants du système.
Un excellent exemple de l'utilisation d'un compilateur croisé, c'est quand microcontrôleurs sont en cours d'utilisation dans un système. En règle générale, un microcontrôleur ne contient pas beaucoup de mémoire. En utilisant un compilateur croisé pour gérer la création et la question de l'exécution des commandes, moins de ressources pour le microcontrôleur sont liés dans les ordres de service, et peuvent être dirigées vers accomplissement de la tâche ordonnée par le compilateur croisé.
Le cross compilateur peut aider à créer un réseau de travail entre les différents types de machines, ou même les différentes versions d'un système d'exploitation. Dans cette application, une entreprise pourrait utiliser les deux versions plus anciennes et plus récentes d'un système d'exploitation pour accéder à un réseau commun, même si les postes de travail dans le bureau en vedette une vaste gamme d'ordinateurs de bureau d'âge et de capacité variable. L'utilisation d'un compilateur croisé permet de rassembler tous ces éléments variés dans un environnement de construction cohérente qui permettra à chacune des stations d'accéder aux fichiers et les données essentielles qui résident sur le serveur commun.
L'utilisation du compilateur croisé remonte aux premiers jours du développement de Windows et la diminution progressive de l'utilisation de DOS par de nombreux utilisateurs finaux. Aujourd'hui, le compilateur croisé demeure un moyen commun de maximiser l'efficacité de plusieurs composants. Cependant, les machines virtuelles telles que la JVM Java sont capables de traiter enfin une partie des fonctions qui étaient autrefois uniquement possible avec l'utilisation d'un compilateur croisé.