Kompilatory skrośne to programy zdolne do tworzenia kodu wykonywalnego, który można uruchomić na platformie, która obecnie nie jest platformą rezydentną kompilatora. Są one powszechnie używane, gdy programista musi korzystać z wielu platform w celu obsługi funkcji obliczeniowych, na przykład w systemach wbudowanych, w których każdy komputer wbudowany w systemie ma mniejszą ilość zasobów. Korzystanie z kompilatora krzyżowego umożliwia przezwyciężenie tego braku zasobów poprzez tworzenie powiązanego wykonania między różnymi komponentami w systemie.
Jednym z przykładów użycia kompilatora skrośnego jest użycie mikrokontrolerów w systemie. Generalnie mikrokontroler nie zawiera dużej ilości pamięci, więc gdy ten program jest używany do obsługi tworzenia i wydawania poleceń, mniej zasobów dla mikrokontrolera jest związanych w rozkazach administracyjnych. Oznacza to, że można je skierować na wykonanie zadania zleconego przez kompilator.
Program może pomóc w stworzeniu działającej sieci między różnymi typami maszyn, a nawet różnymi wersjami systemu operacyjnego. W tej aplikacji firma mogłaby używać zarówno starszych, jak i nowszych wersji systemu operacyjnego, aby uzyskać dostęp do wspólnej sieci, nawet jeśli stacje robocze w biurze zawierały szeroką gamę komputerów stacjonarnych o różnym wieku i różnej pojemności. Korzystanie z tego typu programu umożliwia zebranie wszystkich tych różnorodnych elementów w spójne środowisko kompilacji, które umożliwi każdej ze stacji dostęp do niezbędnych plików i danych znajdujących się na wspólnym serwerze.
Cross-kompilatory sięgają początków rozwoju Windows® i stopniowego spadku użycia DOS przez wielu użytkowników końcowych. Dziś pozostają powszechnym sposobem maksymalizacji wydajności kilku komponentów. Maszyny wirtualne, takie jak JVM Javy, są jednak w stanie obsłużyć w końcu część funkcji, które kiedyś były możliwe tylko przy użyciu tego oprogramowania.