Gcc può compilare programmi incrociati per obiettivi Intel da host ARM, ma non sono del tutto sicuro che sia quello che intendevi chiedere, perché la tua terminologia è disattivata. Permettetemi di delineare alcuni principi generali, che dovrebbero eventualmente rispondere alla vostra domanda o darvi informazioni sufficienti a chiarire la vostra domanda.
Ci sono diverse cose da considerare sulla compilazione incrociata:
- Il sistema host. Questo è il sistema su cui è installato il compilatore stesso.
- Il sistema di destinazione. Questo è il sistema su cui verrà eseguito l'eseguibile. Per specificare pienamente richiede conoscenza di alcune cose diverse:
- L'architettura. ARM, x86, amd64, ppc, ecc.
- Il sistema operativo. Android, iOS, Linux, OS X, Windows, ecc.
- Le librerie. Librerie di lingue standard, toolkit GUI, ecc. Che devono anche essere compilati in modo incrociato.
Tuttavia, si cita anche in esecuzione un programma progettato per ARM su Intel, che non è tanto un cross-compiling quanto porting . Queste sono due cose molto diverse. Se vuoi utilizzare la tua macchina Intel per compilare un programma che verrà eseguito su una macchina Intel, è il porting, non la compilazione incrociata.
A seconda di quanto il programma sia strettamente integrato con il sistema operativo, l'architettura e le librerie, e quanto siano portatili quelli progettati, questo può essere relativamente facile o un completo incubo. Un programma C che utilizza solo ingressi e uscite standard è relativamente facile da trasferire su un'altra piattaforma. Qualcosa di strettamente integrato con la piattaforma, come ad esempio Internet Explorer, è abbastanza difficile da portare che è più facile iniziare da zero.
Se chiarisci se intendi realmente la compilazione incrociata o il porting e fornisci maggiori informazioni sui sistemi operativi e sulle librerie coinvolte, potremmo essere in grado di aiutarti in modo più approfondito.