Compilatoarele încrucișate sunt programe care sunt capabile să producă cod executabil care poate fi rulat pe o platformă care nu este în prezent platforma rezidentă pentru compilator. Ele sunt utilizate în mod obișnuit atunci când un dezvoltator trebuie să utilizeze mai multe platforme pentru a gestiona funcțiile de calcul, cum ar fi în sistemele încorporate în care fiecare computer încorporat din sistem are o cantitate mai mică de resurse. Utilizarea unui compilator încrucișat face posibilă depășirea acestei lipse de resurse prin crearea unei execuții interdependente între diferite componente ale sistemului.
Un exemplu de utilizare a unui compilator încrucișat este atunci când microcontrolerele sunt utilizate în cadrul unui sistem. În general, un microcontroler nu conține o cantitate mare de memorie, așa că atunci când acest program este utilizat pentru a gestiona crearea și eliberarea execuției comenzilor, mai puține resurse pentru microcontroler sunt legate în ordinele administrative. Aceasta înseamnă că pot fi direcționați către îndeplinirea sarcinii comandate de compilator.
Programul poate ajuta la crearea unei rețele de lucru între diferite tipuri de mașini sau chiar diferite versiuni ale unui sistem de operare. În această aplicație, o companie putea folosi atât versiuni mai vechi, cât și mai recente ale unui sistem de operare pentru a accesa o rețea comună, chiar dacă stațiile de lucru din birou prezentau o gamă largă de computere desktop de diferite vârste și capacitate. Utilizarea acestui tip de program face posibilă adunarea tuturor acestor elemente variate într-un mediu de construcție coeziv, care va permite fiecărei stații să acceseze fișierele și datele esențiale care se află pe serverul comun.
Compilatoarele încrucișate pot fi urmărite până la primele zile ale dezvoltării Windows® și scăderea treptată a utilizării DOS de către mulți utilizatori finali. Astăzi, ele rămân un mijloc comun de maximizare a eficienței mai multor componente. Cu toate acestea, mașinile virtuale, cum ar fi JVM-ul Java, sunt capabile să gestioneze în sfârșit o parte din funcțiile care odată erau posibile doar cu utilizarea acestui software.