Перейти к содержанию
Fire Monkey от А до Я
  • 0

Размер приложения


Hevard

Вопрос

Вспомнил о приложении-скринсейвере, на который наткнулся ещё в "лохматые" годы. Morph3D.

Исходники лежат тут: Исходники.RU - Информационный сервер для программистов: исходники со всего света. (sources.ru)

Откомпилировал на Александрии, заменив PChar на PAnsiChar.

Исходник увеличился в 2.5 раза... Почему так произошло?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Скорее всего, увеличение размера исходного кода произошло из-за следующих причин:

1. Разница в размере типов PChar и PAnsiChar. В Delphi 2009 и более поздних версиях PChar был заменен на PAnsiChar для совместимости с Unicode. Размер PAnsiChar в 2 раза больше чем PChar.

2. Автоматическая конвертация строковых литералов в Unicode. В новых версиях Delphi строковые литералы имеют тип UnicodeString вместо AnsiString. Это также увеличивает размер.

3. Добавление префиксов перед строковыми литералами. Для совместимости с Unicode Delphi автоматически добавляет префиксы перед строками, например 'U', 'L', etc. Это тоже увеличивает размер кода.

4. Выравнивание данных. Компилятор может добавлять выравнивание в памяти для некоторых типов, например для PAnsiChar.

5. Другие изменения в формате объектного кода. Например, более длинные имена классов/методов.

Таким образом, переход на новые версии Delphi с Unicode поддержкой может привести к значительному увеличению размера исходного кода из-за несовместимости строк, упаковки данных и других факторов. Это нормальное явление, цена прогресса.

Ссылка на комментарий
  • 0

В RTL за годы тоже произошло 100500 изменений и добавлений. Функционал форм поменялся. Добавились стили в VCL. Все это отразилось на размере.

Но я по-прежнему не вижу проблем. Вот питонные программы тянут почти 500м самого питона. Сишарп и другие - гигабайты дотнета. И ничего, никто не морщится даже.

Ссылка на комментарий
  • 0
8 минут назад, krapotkin сказал:

И ничего, никто не морщится даже.

Да я не морщусь, я пытаюсь понять, что так сильно увеличивает размер. За ответы благодарю.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...