Параметры компилятора
Обычно Вы компилируете Металлические программы построения теней оффлайн путем добавления Металлических исходных файлов программы построения теней к проекту XCode. XCode компилирует источник программы построения теней с помощью metal
инструмент командной строки, производя двоичные файлы, что Ваши загрузки приложения с помощью APIs от MTLLibrary
класс. Можно также использовать Металлический компилятор онлайн — компиляцию Металлического источника программы построения теней в течение времени выполнения приложения — использование другого MTLLibrary
APIs.
При использовании оффлайнового metal
компилятор, можно использовать флаги опции, перечисленные в этой главе, чтобы управлять поведением препроцессора, выбрать математические функции в стандартной библиотеке и запросить другие опции. При использовании онлайнового Металлического компилятора можно управлять подмножеством этих опций с помощью MTLCompileOptions
класс.
Опции препроцессора
Эти опции управляют Металлическим препроцессором, выполняющимся на каждом исходном файле программы построения теней перед компиляцией.
-D
имяПредопределяет имя как макрос, с определением 1. Эквивалентный
#define name 1
в источнике программы построения теней.-D
name=definitionМаркирует и обрабатывает содержание определения, как будто они появились в a
#define
директива в источнике программы построения теней. Эта опция может получить многократные опции, обрабатывающиеся в порядке, в котором они появляются.Можно использовать эту опцию измениться, какие опции программы построения теней активированы или отключены.
-I
dirДобавляет dir каталога к списку каталогов, которые будут искаться заголовочные файлы. Эта опция доступна только для оффлайнового компилятора.
Математика опции Intrinsics
Эти опции управляют поведением компилятора относительно арифметики с плавающей точкой. Эти опции позволяют Вам делать компромиссы между скоростью и правильностью.
-ffast-math
Эта опция (по умолчанию) включает оптимизацию для арифметики с плавающей точкой, которая может нарушить стандарт IEEE 754. Это также отключает вариант высокой точности математических функций для одинарной точности скалярные и типы векторов с плавающей точкой.
-ffast-math
значение по умолчанию.-fno-fast-math
Эта опция является противоположностью
-ffast-math
. Это отключает оптимизацию для арифметики с плавающей точкой, которая может нарушить стандарт IEEE 754. Это также включает вариант высокой точности математических функций для одинарной точности скалярные и типы векторов с плавающей точкой.
Металлическая стандартная библиотека обеспечивает и быстрые и точные варианты математических функций в metal::precise
и metal::fast
вложенные пространства имен. Когда -ffast-math
указан, эти функции используют быстрые варианты по умолчанию (и можно вызвать функцию с precise::
снабдите префиксом для использования точного варианта вместо этого). Когда -fno-fast-math
указан, функции используют точные варианты по умолчанию (и можно вызвать функцию с fast::
снабдите префиксом для использования быстрого варианта вместо этого). См. Перечисление 5-1 для примеров.
Опции запросить или подавить предупреждения
Следующие опции доступны:
-Werror
Превратите все предупреждения в ошибки.
-W
Подавите все предупреждающие сообщения.