Delphi XE3 EXE размер файла в 25 раз больше, чем Dephi 7
В качестве теста я решил создать простое приложение "Hello world" в Delphi, используя Delphi 4, 5, 6, 7, 2005, 2010 и XE3. Приложение представляет собой не что иное, как TForm, TButton с событием OnClick, которое вызывает ShowMessage("Hello world").
Ниже приведены результаты каждого финального EXE с отключенной отладкой:
Может кто-нибудь объяснить, почему версия XE3 в 26 раз больше, чем в среднем в предыдущих версиях Delphi?
Вот мои настройки проекта для XE3:
4 ответа
Возможно, вы выполнили только компиляцию после изменения конфигурации "Release". Попробуйте сделать перестройку (не перекомпилировать). Это действительно активирует конфигурацию выпуска исполняемого файла и, возможно, меньший размер файла.
Для меня (Delphi XE2) размер, сообщаемый Windows для того же приложения (конфигурация выпуска):
1,52 МБ (1 600 512 байт)
Я понял проблему. Прими это до факта, что я использую Delphi 7 99% времени, когда я развиваюсь, и XE3 является новым для меня. Несмотря на то, что я выбрал "Релиз" в настройках проекта и внес свои коррективы, получается, что простой выбор "Релиз" не переводит проект в режим Релиз.
Кто бы мог подумать, что мне также нужно использовать панель "Диспетчер проектов" и дважды щелкнуть элемент "Релиз", чтобы перевести проект в режим "Релиз"?
Если кому-то интересно, итоговый EXE-файл теперь составляет 2229 КБ, что всего в 5 раз больше размера EXE-файлов до Delphi 2010.
Просто поместите эти строки в ваш файл.dpr, это уменьшит размер исполняемого файла на 20%.
использует Windows,
{$ O +} {$ SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}
Ну... есть много вещей, которые объясняют разницу между старым выпуском delphi и новым.. важно то, что поддерживается юникод (D2009 .. DXE4), все символы в юникоде выделяют 2 байта (в D1,D2,D3,D7,... они только выделяют один байт)