Garantire l'affidabilità della compilazione incrociata

2

A patto che il mio codice sia pienamente conforme agli standard senza alcun comportamento indefinito, come posso garantire che sarà possibile compilare il mio software in modo incrociato per qualsiasi architettura?

Ho avuto alcune idee, ma non lo so se è saggio o possibile implementarle. Ad esempio, se potessi dire al compilatore di non assumere alcun percorso o architettura durante la compilazione o il collegamento, qualsiasi compilazione non incrociata sarebbe effettivamente equivalente a creare una compilazione cross-compilation. Ad esempio, il compilatore non dovrebbe presumere che un DSO con cui sto collegando, sarà disponibile sotto quel percorso in runtime (o in realtà poco prima, tempo di avvio).

    
posta Janus Troelsen 17.01.2015 - 15:36
fonte

1 risposta

1

Suppongo che tu stia già facendo affidamento su analizzatori di codici statici per garantire la conformità agli standard.

Ora, a causa del modo in cui i sistemi sono costruiti, ti consiglio caldamente di compilarlo su una macchina che assomigli alle macchine di destinazione il più vicino possibile.

Puoi ottenerlo utilizzando una nuvola di server di build come Jenkins o Electric Commander. Con questi strumenti è inoltre possibile legare l'interruzione della build al controllo effettivo del codice tramite l'integrazione SCM.

    
risposta data 17.01.2015 - 15:58
fonte