![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Snowy, это на delphi 2006 ??
Добавлено @ 13:44 так это наверное модуль system урезан до предела? Чесно говоря в нем разобраться непросто ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Нет конечно. Родная 7-ка - на ней самые маленькие неVCL файлы делаются.
Он там вообще отсутствует ![]() и не нужно. Нужно убрать все, а потом добавлять потихоньку все, чего не хватает. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Что вообще утежеляет модуль system?
Сознание новых типов утяжеляет проект или нет ?(если они не используются) В этом смысле функции и константы не должны вроде. Глобальные переменные точно должны. Не использованные классы утяжеляют или нет? Раздел инициализации и финализации явно нужно переработать. Как всето таки его правельно резать чтобы лишнее (не утяжеляющее) не трогать? Добавлено @ 13:56 А как можно удалить вообще системные модули ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Все то же, что и другие модули.
Аналогично. Если не используются - нет. Оптимизатор все режет. Не режет он только методы классов, которые не используются, но используется сам класс. При использовании объектов, неиспользуемые методы тоже режутся.
System и SisInit удалить полностью нельзя. Но можно сделать их пустыми:
Правда пустой System не скомпилится. У меня он такой:
Добавлено @ 14:10 Это необходимый минимум для оконных программ. Для неоконных он еще меньше. В принципе все, что для оконных можно вынести в другой модуль. Добавлено @ 14:13 Вот минимальный System для неоконных приложений:
Добавлено @ 14:17 В принципе скомпиленный вариант будет почти одинаков. Мой вариант чуть больше из-за того, что вычисляет hInstance. То есть реально только на одну импортируемую функцию больше. |
||||||||||
|
|||||||||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Если компилятор все неиспользованное удаляет сам то по идее
если убрать все написанное в разделах initialization и finalization и скомпилировать пустой проект то результат должен быть анологичным или я что-то упустил ![]() Добавлено @ 14:35 Кстати как компилятору явно указать что нужно использовать именно эти модули system и sysinit а не родные а то не всегда срабатывает помещение в ту же директорию. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Не совсем. Еще нужно зачистить _HandleFinally, _InitExe, _halt0. Что нужно зачистить еще я не знаю. Но даже при таком раскладе разница больше килобайта. Каким-то макаром туда еще менеджер памяти попадает. Модуль System все же не совсем стандартный - есть в нем еще и внутрисистемные вызовы... Добавлено @ 14:56 Если в том же каталоге, то всегда. По крайней мере при компиляции из коммандной строки точно. По другому - через настройки проекта. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
я в настройках не нахожу такую штуку -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Это в настройках среды.
Menu -> Tools -> Environment Options -> Library -> Library Path В настройках проекта просто вставь в список Search Path первым свой каталог. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Snowy, в этом виде ни один из модулей delphi не воспринимает просто игнорирует.
Добавлено @ 16:08 Выложи пожалуйста весь проект с исходниками. ![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
У меня 7-ка спокойно компилит без указания каталогов.
Просто бросил файлы в тот же каталог. Кстати, как обычно из самой дельфи размер получился больше, чем при компиляции из коммандной строки. Поэтому я всегда собираю батники для компиляции. А ты скомпилил System.pas? Или просто его туда бросил? Если не скомпилил, то дельфя их и не увидит. system.pas ей пофигу. Ей нужен system.dcu. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Разве можно это сделать без проекта?? Я так не умею ![]() Добавлено @ 16:20 Просто бросил System.pas -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Выкладываю пакет для создания микропрограмм.
В комплекте все необходимое, кроме самого компилятора и редактора ресурсов. В файле list.txt все файлы подписаны. Добавлено @ 16:28 Это можно сделать только без проекта: dcc32 -q system -m -y -z -$D- Присоединённый файл ( Кол-во скачиваний: 87 ) ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Snowy, Так там еще и отладочная информация удалена??
и наверно упакован, а то получается 3 кб. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Естественно! В txt же все написано. И упаковщик в комплекте. А ты думал я рожу чудо и сделаю так, что компилятор дельфи будет строить прогу по другому? Нет. Я просто уменьшил код до минимума. В самом exe осталось полкило кода и куча пустоты. Вот эту пустоту мы и ликвидируем при помощи приложенных утилит. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Ставим рекорды.
Помнится когда-то зашел разговор в религиозных войнах, что Delphi создает огромные ехешники. Тогда Решили написать HelloWorld на дельфи и на C++. Мой вариант получился 4096 байт. Размер на C++ составил 1024 байта. Теперь я готов дать новый ответ. Вот он. Hello World на дельфи. 1005 байт! Теперь можете смело ссылаться на этот пост, когда вам скажут, что на дельфи нельзя писать маленькие программы. Присоединённый файл ( Кол-во скачиваний: 61 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |