Справка XCode предоставляет довольно четкие определения:
Имя: Другие флаги C
Аннотация: Список разделенных пробеламидополнительные флаги для передачи компилятору для файлов C и Objective-C.Обязательно используйте обратную косую черту для любых аргументов, которые содержат пробелы или специальные символы (например, пути, которые могут содержать пробелы).Используйте этот параметр, если XCode еще не предоставляет пользовательский интерфейс для определенного флага компилятора C или Objective-C.[OTHER_CFLAGS]
Имя: Другие флаги C ++
Аннотация: Список дополнительных флагов, разделенных пробелами, для передачи компилятору для C ++ и Objective-C ++ файлы.Обязательно используйте обратную косую черту для любых аргументов, которые содержат пробелы или специальные символы (например, пути, которые могут содержать пробелы).Используйте этот параметр, если XCode еще не предоставляет пользовательский интерфейс для флага компилятора C ++ или Objective-C ++.[OTHER_CPLUSPLUSFLAGS]
Таким образом, "другие флаги C" передаются компилятору при компиляции исходных файлов C и Obj-C.«Другие флаги C ++» передаются компилятору при компиляции исходных файлов C ++ и Obj-C ++.
На второй вопрос: Да.Вы можете указать флаги для отладки, выпуска или другой конфигурации, нажав треугольник раскрытия слева от «Другие флаги C», а затем поместив нужный флаг в строку, соответствующую желаемой конфигурации.