http://tikitak.narod.ru ---- Главная страница сайта
Шаг 14 - Об отладке, размере файлов и т.д.
Создание проекта
Создайте любой проект WIN32 CONSOLE например с именем test.
Создание кода
И код в нем
#include "iostream.h"
#include "afxwin.h"
void main()
{
cout << "This not debug" << endl;
#ifdef _DEBUG
cout << "debug code" << endl;
#endif
int i;
cin >> i;
}
Описание
Запускайте, выполняйте. На экране должна появиться надпись типа
This not debug
debug code
Это говорит о том, что у нас включена отладка в код. В нашем EXE есть имена переменных, классов, функций, и весь код. Плюс к тому в нем есть код включенный через дерективы компилятора _DEBUG
В MFC такого отладочного кода девать некуда. Честное слово. Посмотрите исходники MFC в каталоге Programm File\DevStudio\Vc\mfc\src.
А теперь посморим размер вашего файла. У вас в каталоге Вашего проекта есть папка Debug, где лежит Ваш файл и его размер где-то около 900 КВ , как мне сказал один хороший знакомый - валерианки не хватит.
Для того, чтобы получить нормальную версию, необходимо переключиться на проект Release. Это делается в меню Build далее Set Active Configuration и дальше надо выбрать , так выберите Release и запустите сборку Rebuild all. Запустите проект на выполнение.
На экране будет
This not debug
Весь отладочный код пропустится !
У вас появится папочка Release в каталоге проекта. Посмотрите там размер EXE около 100 КБ. Как впечатляет ?
Ещё размер зависит от того как вы используете MFC. Есть два варианта Static Library и Dinamic Library. Если вы используете первый вариант то код MFC будет в проекте и размер вырастет. Во втором варианте программа будет пользоваться DLL и размер будет меньше.
Так вот второй вариант, это потенциальные проблемы, вам надо следить при установке чтобы все DLL были в системе. Кто гарантирует, что их потом не заменят или не удалят? Я помню на заре развития программирования на VB появились утилиты которые прикрепляют DLL к EXE, они появились после горького опыта многих людей.
У меня пользователи не могут даже заставку на экране поменять. При таком подходе можно применять динамическую компоновку. А если ваша программа будет работать в экстремальных ситуациях и на большом удалении от Вас отставте статическую компоновку. Жеские диски по 3 GB уже норма. Ничего с ними не станет. Сотрут одну игру !!!
Шпаргалка
Завершая разработку программы , сделайте версию Release.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|