Mi piacerebbe avere una implementazione portatile della mia applicazione. Tuttavia, Ho sentito che ci sono alcuni problemi con printf dallo stdlib su alcune macchine dove non si comporta come previsto. Ad esempio, quando si utilizza lo specificatore di conversione % f, può succedere che su alcune architetture l'implementazione di printf includa un punto decimale nell'output!Test dell'implementazione printf
Ora mi chiedo, se ci sono forse alcune routine di test là fuori che ho potuto utilizzare per verificare la correttezza semantica di esecuzione stdlib c, in particolare la printf routine. Forse ci sono alcune buone risorse che evidenziano alcuni problemi durante il porting dei programmi?
Molte grazie, Heinz
Cosa c'è di sbagliato con il punto decimale nel risultato? IMO è più correlato a l10n che alla portabilità. –
Quando lo si utilizza per il test, si ottengono in genere diversi output su piattaforme diverse; questo potrebbe significare che un test potrebbe fallire a causa del punto decimale che porta a una diversa rappresentazione sebbene i valori stessi siano gli stessi. –
@ Heinz, è possibile impostare le impostazioni locali su "C" nel codice di test (ad esempio setlocale (LC_NUMERICAL, "C")). Questo dovrebbe produrre sempre un punto decimale e non una virgola o qualcos'altro. – quinmars