Cross Compile Arm Program to Intel

3

Ho cercato un modo per eseguire un programma pensato per processori ARM su un computer Intel, ma posso solo trovare modi per fare il contrario, compilare programmi Intel per ARM. Esistono cross-compilatori open-source che mi consentiranno di farlo? Grazie per il tuo aiuto.

    
posta erdekhayser 02.06.2013 - 17:06
fonte

1 risposta

5

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:

  1. Il sistema host. Questo è il sistema su cui è installato il compilatore stesso.
  2. Il sistema di destinazione. Questo è il sistema su cui verrà eseguito l'eseguibile. Per specificare pienamente richiede conoscenza di alcune cose diverse:
    1. L'architettura. ARM, x86, amd64, ppc, ecc.
    2. Il sistema operativo. Android, iOS, Linux, OS X, Windows, ecc.
    3. 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.

    
risposta data 02.06.2013 - 19:42
fonte

Leggi altre domande sui tag