xcode - функции - что такое макросы в программировании



Макросы препроцессора Xcode (1)

В Xcode я могу редактировать макросы препроцессора в настройках проекта. Я хочу создать макрос, который ссылается на переменную среды. В принципе, я хочу иметь возможность ссылаться на $ SRC_ROOT в моем коде. То, что у меня есть в моих макросах:

SRC_ROOT=${SRC_ROOT}

но он не работает.


В настройках сборки Xcode вы фактически не ссылаетесь на значение переменной среды. Вместо этого вы ссылаетесь на значение установки сборки . Синтаксис для этого - стиль $(SETTING_NAME) Makefile-стиля $(SETTING_NAME) а не тип ${SETTING_NAME} оболочки, который вы использовали выше.

Итак, что вы хотите сделать, добавьте

SRC_ROOT="$(SRCROOT)"

к настройке сборки макросов препроцессора .

В качестве дополнительного бонуса, если вы знаете, что ваши макросы не будут влиять на содержимое вашего прекомпилированного файла префикса, вместо макросов препроцессора вместо этого следует использовать макросы препроцессора, не используемые в прекомпилированных заголовках .

Таким образом, вы можете улучшить совместное использование своего предварительно скомпилированного заголовка префикса (определенного файлом pch ) между различными объектами в вашем проекте или даже разными проектами. Техническая нота 2190: Ускорение работы с Xcode Builds более подробно описано в этом документе. Если вы используете одно и то же имя и содержимое файла префикса и создаете с использованием тех же параметров сборки, что и для нескольких проектов, вы можете получить значительные улучшения в производительности сборки, поскольку Xcode будет узнайте, когда он может повторно использовать существующие предварительно скомпилированные файлы префикса.





preprocessor