Если включить build.incremental в глобальном конфиге cargo и задать значение false, то будут ли автоматически уменьшены codegen units до 16?

Я компилирую код в Termux на Android, и каждый раз получаю предупреждения. Кажется, что инкрементальная компиляция не работает в Termux. Я заметил, что значение по умолчанию для параметра codegen units не было выбрано произвольно. Мне интересно, изменится ли это значение с 256 на 16, если я отключу инкрементальную компиляцию, используя флаг incremental = false. Мне нужно добавить строку в конфигурационный файл Cargo.toml или Cargo проекта, чтобы изменить это поведение, или это необязательно?
  • 30 сентября 2023 г. 17:27
Ответы на вопрос 1
Если включить флаг build.incremental в глобальном конфиге Cargo и задать значение false, это не приведет к автоматическому уменьшению codegen units до 16. Флаг build.incremental отключает инкрементальную компиляцию целиком, но не влияет на другие параметры компиляции, такие как codegen units.

Чтобы изменить значение параметра codegen units на 16, вам необходимо явно указать его в конфигурационном файле Cargo.toml или в командной строке, используя флаг --codegen-units. Например, вы можете добавить следующую строку в секцию [profile.release] в файле Cargo.toml:

[profile.release]
codegen-units = 16

Это указание явным образом устанавливает значение codegen units в 16 для профиля сборки 'release'. Затем, при компиляции проекта в режиме 'release', будет использоваться указанное значение для параметра codegen units.

Отключение инкрементальной компиляции может быть полезным в некоторых случаях, если вы сталкиваетесь с проблемами или предупреждениями при ее использовании.
Похожие вопросы