Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

EditorUserBuildSettings.explicitArrayBoundsChecks

Declaration

public static bool explicitArrayBoundsChecks;

Описание

Если true, то границы массива активно проверяются в коде, генерируемом IL2CPP.. Если false, то они не проверяются.

Эта настройка поддерживается только для некоторых закрытых платформ. На этих платформах это настраиваемый параметр в профиле сборки платформы, и дополнительная информация доступна в соответствующей документации платформы.

Важно:

  • Настоятельно рекомендуется оставлять проверки границ массивов включёнными. Их отключение может повысить производительность во время выполнения, но позволяет коду обращаться к массиву по неверным индексам, что чревато некорректным поведением, включая чтение из произвольных участков памяти и запись в них. Чаще всего такие обращения проходят без видимых последствий и могут испортить состояние приложения без явных предупреждающих признаков, из-за чего ошибки становится очень трудно отлаживать. Если вы всё же решите отключить проверки границ массивов, вы должны убедиться, что в затронутом коде не происходит обращений за границы.
  • На платформах, поддерживающих эту настройку, она применяется глобально ко всему коду C#. Вместо этого рекомендуется использовать атрибут [Il2CppSetOption], который поддерживается на всех платформах и позволяет применять эквивалентное поведение более ограниченно к конкретным методам, классам или сборкам. Дополнительную информацию см. в разделе IL2CPP Проверки кода во время выполнения в руководстве Unity.