2012-06-27 8 views
21

me encontré con que mi proyecto establece¿Para qué se utiliza GCC_NO_COMMON_BLOCKS?

GCC_NO_COMMON_BLOCKS = NO 

bajo de Apple LLVM compilador 3.1 - Ajustes de generación de código, como "No hay bloques comunes"

enter image description here

me gustaría saber: lo es que bandera utilizada?

Muchas gracias

Respuesta

31

De ayuda rápida de Xcode:

En C, asigne incluso variables globales sin inicializar en la sección de datos del archivo de objeto, en lugar de generar los bloques tan comunes. Esto tiene el efecto de que si se declara la misma variable (sin extern) en dos compilaciones diferentes, obtendrá un error cuando las vincule. La única razón por la que esto podría ser útil es si desea verificar que el programa funcionará en otros sistemas que siempre funcionan de esta manera.

puede encontrar la ayuda rápida en el panel derecho, en la pestaña "Ayuda Rápida Mostrar Inspector": Xcode Quick Help Inspector

+4

Gracias! No sabía que la ayuda rápida de XCode también ayudó con la configuración de la construcción y esas cosas. Eso me habría ahorrado algo de tiempo. – Lio

+5

Parece que esta opción está activada por la configuración recomendada de Xcode 8. – Richard

+2

el problema de que esté activado por defecto en Xcode 8 es que arruinará un montón de proyectos existentes por una gran mayoría de desarrolladores durante muchos años ... y el "error" generado en la mayoría de los casos (si no todos) no señalar qué variables son "comunes", ni el error da una pista de que esté relacionado con variables "comunes", ni hay ninguna pista de que la raíz del error haya sido un cambio de configuración del compilador (automático) que causó la diferencia. – hokkuk

Cuestiones relacionadas