2012-06-27 4 views
21

ho scoperto che il mio progetto ponePer che cosa viene utilizzato GCC_NO_COMMON_BLOCKS?

GCC_NO_COMMON_BLOCKS = NO 

sotto di Apple LLVM Compiler 3.1 - impostazioni di generazione del codice, come "No Blocchi comuni"

enter image description here

Vorrei sapere: cosa è che bandiera usata?

Grazie mille

risposta

31

Da aiuto rapido di Xcode:

In C, allocare anche le variabili globali non inizializzati nella sezione dati del file oggetto, piuttosto che li genera blocchi comuni. Questo ha l'effetto che se la stessa variabile viene dichiarata (senza extern) in due diverse compilazioni, si otterrà un errore quando si collegano . L'unica ragione per cui questo potrebbe essere utile è se si desidera verificare che il programma funzioni su altri sistemi che funzionano sempre in questo modo, .

È possibile trovare l'aiuto rapido nel riquadro di destra, nella scheda "Mostra Quick Aiuto Ispettore": Xcode Quick Help Inspector

+4

Grazie! Non sapevo che l'aiuto rapido di XCode aiutasse anche con le impostazioni di costruzione e quella roba. Questo mi avrebbe salvato un po 'di tempo. – Lio

+5

Questa opzione sembra essere attivata dalle impostazioni raccomandate di Xcode 8. – Richard

+2

il problema di essere attivo per impostazione predefinita in Xcode 8 è che creerà un sacco di progetti esistenti probabilmente da una vasta maggioranza di sviluppatori per molti anni .. e l'errore generato nella maggior parte dei casi (se non tutti) non puntare a quali variabili sono "comuni", né l'errore lascia intendere che sia anche correlato a variabili "comuni", né vi è alcun suggerimento che la radice dell'errore sia stata una modifica del compilatore (automatica) che ha causato la differenza. – hokkuk