Начинающим и берущим небольшие Азы с Visual Studio очень часто интересно, чем-же отличаются 2 версии, а точнее Debug от Release. Но все это очень просто, даже исходя из названия. Главное различие состоит в назначении: конфигурация Debug предназначена для компиляции на этапе разработки и отладки программы, а Release - для сборки программы и последующего её использования пользователями программы.
В конфигурации Release удаляется отладочная информация из исполняемого файла. Это приводит к уменьшению размера исполняемого файла (обычно в несколько раз). Так же исключаются дополнительные проверки. Например, инициализированы переменные или нет:
#include <iostream> int main() { int x; std::cout << x << std::endl; return 0; }
Из приведённого выше рисунка видно, что в конфигурации Release никаких проверок не осуществляется, а в конфигурации Debug они есть. Так в STL, например, производятся дополнительные проверки итераторов перед операциями инкремента и декремента:
Поэтому в конфигурации Release программа может работать значительно быстрее, но и могут возникнуть новые ошибки, если код недостаточно хорошо написан и протестирован.
Вот и все.
С уважением Ваш ИТ Инженер.
Уникальный проект на рынке недвижимости, следи за тем как растут цены на недвижимость, прогнозируй рост.