Objective-C - это расширенный набор C (как и C ++), и довольно часто файлы из разных языков будут использоваться в одном проекте и совместно использовать заголовки, особенно заголовок префикса. #ifdef __OBJC__
, как и #ifdef __cplusplus
, позволяет включать (или #import
для Objective-C) заголовки только для соответствующего языка.
Для того же заголовка, включенного в файлы .c, .cpp и .m (с настройками компилятора по умолчанию), будет определено только __OBJ__
для файлов .m.