AdaGide: режим отладки и режим выпуска

Если я понимаю правильно затем, что режим выпуска позволяет программе работать быстрее, чем запущение программы в режиме отладки.

Общий вопрос будет состоять в том, если нужно запустить программу сначала в режиме отладки и затем переключиться для запущения программы в режиме выпуска для режима выпуска для "перескакивания" через проверки, это обычно делает при выполнении в режиме отладки? Или может для выполнения непосредственно программы в режиме выпуска прямо в запуске?

Теперь когда дело доходит до AdaGide, я вижу режим отладки опции и выпускаю режим под Компиляцией. Действительно ли размещение является галочкой рядом с режимом выпуска, все, что это требуется, чтобы, AdaGide запустили программу в режиме выпуска? Я использую компилятор GPL GNAT.

Большое спасибо...

1
задан yCalleecharan 3 July 2010 в 14:29
поделиться

2 ответа

Отказ от ответственности: я не знаком с особенностями режимов выпуска и отладки AdaGide.

Вообще говоря ...

Режим отладки - это когда компилятору передается по крайней мере флаг отладки (-g), чтобы сгенерированные объектные файлы сохраняли символьную информацию для использования отладчиком. Он может передавать другие параметры, такие как -gnata, который включает утверждения, и параметр binder -E, используемый для хранения стека обратного вызова в исключениях.

Если вы не используете много утверждений (прагма Assert), вряд ли будет значительная разница в показателях производительности между режимами отладки и выпуска. Однако объектные файлы и исполняемые файлы для отладочной версии, вероятно, будут значительно больше из-за сохранения символьной информации.

Возможно, что режим выпуска может отключить проверки времени выполнения, что потенциально может оказать заметное влияние на производительность, но выполнение этого в рамках номинального режима «выпуска» почти всегда очень плохо для делать в Аде.Как правило, проверки во время выполнения отключаются только , когда этого требуют требования к производительности, только , где они существенно влияют на производительность, и только после того, как эти участки кода были формально проверены и / или исчерпывающе протестированы. и проверены на правильность исполнения.

Параметры оптимизации, -O2 и т. Д., Будут более существенно влиять на производительность, хотя окончательная сумма зависит от того, как код структурирован и выполняется. YMMV.

1
ответ дан 2 September 2019 в 23:19
поделиться

Вы не можете запустить программу выпуска в режиме отладки. Код может быть скомпилирован с отладочными символами и сообщениями о состоянии или может быть скомпилирован без них. Если код компилируется в режиме отладки, он будет работать медленнее и займет больше места; если он скомпилирован в режиме выпуска, он будет работать быстрее и будет более компактным. После того, как код скомпилирован, его режим нельзя изменить.

Я не знаком с AdaGide или компилятором GNAT, но предполагаю, что если вы отметите поле «Release Mode», код будет скомпилирован в режиме выпуска.

0
ответ дан 2 September 2019 в 23:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: