Подтвердить что ты не робот

Для чего используется GCC_NO_COMMON_BLOCKS?

Я обнаружил, что мой проект устанавливает

GCC_NO_COMMON_BLOCKS = NO 

под Apple LLVM Compiler 3.1 - Настройки кода, как "Нет общих блоков"

enter image description here

Я хотел бы знать: для чего используется этот флаг?

Спасибо большое

4b9b3361

Ответ 1

Из быстрой помощи Xcode:

В C выделяют даже неинициализированные глобальные переменные в разделе данных объектного файла, а не генерировать их как общие блоки. Это приводит к тому, что если объявлена ​​одна и та же переменная (без extern) в двух разных компиляциях, вы получите сообщение об ошибке, когда вы свяжите их. Единственная причина, по которой это может быть полезно, - это убедитесь, что программа будет работать на других системах, которые всегда работают таким образом.

Вы можете найти краткую справку в правой панели под вкладкой "Показать Quick Help Inspector": Xcode Quick Help Inspector