2015-05-05 5 views
2

Я просто получил простой «Hello, World!». C для сборки и компиляции в Eclipse CDT plugin. Когда вы идете создать новый проект на C, или когда вы идете настроить конфигурацию запуска для существующего проекта C, Eclipse дает вам возможность указать режим отладки или выпуска.Eclipse CDT и режимы отладки/выпуска

Мне интересно, какая разница между этими двумя режимами. Очевидно, что режим отладки - это своего рода режим разработки, который может не оптимизировать ситуацию и потребовать больше времени для создания/запуска. Но, будучи новичком в C, мне сложно понять, какие конфигурации/параметры являются Debug vs Release. Потрясающе, документация CDT не упоминает о режиме Debug vs Release!

Может кто-то дать мне конкретного случая использования чего-то, что может быть конфигурацией Debug Mode, но не включена в режиме выпуска? И, наоборот, что-то, что будет включено в режим выпуска, но исключено в режиме отладки?

ответ

6

Как правило, дополнительный флаг -g передается в gcc в отладочной сборке. Он сообщает gcc о включении отладочной информации в программу. Невозможно отлаживать программы, созданные без этого флага.

Другой флаг отладки -O0, который отключает оптимизацию. Когда вы переходите через оптимизированную программу, она часто переходит к неожиданной строке кода, что затрудняет отладку.

+0

Спасибо @basin (+1) - как мне точно настроить, какие флаги устанавливаются в каждом режиме? Как определить, какие флажки устанавливаются в настройках запуска Eclipse? Еще раз спасибо! – smeeb

+0

@smeeb Я думаю, что они установлены в свойствах проекта, а не для запуска config – basin