www.adept7.kiev.ua
| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
  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
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz