Sto leggendo alcuni documenti interni per codice sviluppato per le linee guida MISRA C , e lo vedo nei flag del compilatore sezione della documentazione c'è una nota da compilare con ottimizzazione off ( -O0
). Sono nuovo nello sviluppo critico per la sicurezza, quindi nella mia mente la disattivazione dell'ottimizzazione è eccessivamente pessimistica e i compilatori moderni produrranno codice valido con ottimizzazione moderata, e comunque una suite di test decente catturerà i difetti del compilatore.
Ci sono buoni argomenti per disabilitare l'ottimizzazione? Forse a causa di questa disabilitazione, il codice è pieno di spostamenti a sinistra e a destra che sostituiscono divisioni e altre micro-ottimizzazioni che credo dovremmo lasciare al compilatore per affrontare.