Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

О результате трудов - откомпилированных файлах ... [D7, D2005, XP]


Страницы:   1 2 3

User ©   (2008-07-19 23:07:00) 

Не секрет, что компилятор Delphi в результирующие файлы впихивает все, что надо и, что самое неприятное, что не надо. Дабы в этом убедиться, достаточно откомпилтровать пустышку в виде формы и используя только Forms. При просмотре в eXeScope можно увидеть и Bitmap из 11 картинок, и Dialog (DLGTEMPLATE), и String (11 записей), RCData (в полном составе, включая TFORM1 в виде dfm), стандартные курсоры, ну и, конечно - иконка.
Так вот, есть ли какие-то:
- установки компилятора (-$O+ присутствует), чтобы не включать лишнего в компилируемый файл,
- внешние программы (не упаковщики РЕ), чтобы исключить ненужности из откомпилированного файла.


Anatoly Podgoretsky   (2008-07-23 13:43:00) [1]

> Тын-Дын  (23.07.2008 13:10:50)  [50]

Я не призываю, а обращаю внимание на недостатки твоих тезисов.
Ассемблерб а нафига Паскаль, когда есть TASM
Так вот после выхода TP 6 я полностью отказался от использования TASM, хотя писал именно системные вещи, в первую очередь драйвера.
Так же и здесь, зачем отказываться от Дельфи, что бы писать на WinApi - инструмент удобен и для этой работы тоже. Вот если писать драйвера режима ядра, то выбор Дельфи мягко скажем очень смущает, или спецАПИ, для которого не портированы заголовки.


Тын-Дын   (2008-07-23 13:10:00) [2]


> Anatoly Podgoretsky ©   (23.07.08 12:29) [49]
> > Тын-Дын  (23.07.2008 12:17:48)  [48]
>
> WinAPI предназначет для решения абсолютно любых задач, хоть
> Hello World, а не только системных.
> Какое средство, программирования с  WinAPI, уберет вот это
> - куча времени


WinAPI для любых задач. но почему мы не пишем прикладные задачи для работы с БД на Assembler и WinAPI?


Anatoly Podgoretsky   (2008-07-23 12:29:00) [3]

> Тын-Дын  (23.07.2008 12:17:48)  [48]

WinAPI предназначет для решения абсолютно любых задач, хоть Hello World, а не только системных.
Какое средство, программирования с  WinAPI, уберет вот это - куча времени


Тын-Дын   (2008-07-23 12:17:00) [4]


> User   (23.07.08 12:11) [47]
> Перефразирую, WinAPI посредством Delphi ;-)


Ну если есть необходимость в каких-то системных задачах и куча времени, то почему бы нет?


User   (2008-07-23 12:11:00) [5]

Перефразирую, WinAPI посредством Delphi ;-)


Тын-Дын   (2008-07-23 12:08:00) [6]


> User   (23.07.08 10:18) [45]
> WinAPI ...


Тогда зачем Delphi?


User   (2008-07-23 10:18:00) [7]

WinAPI ...


Тын-Дын   (2008-07-22 19:48:00) [8]


> User   (22.07.08 14:39) [42]


И какие выводы?


Loginov Dmitry   (2008-07-22 17:33:00) [9]


> ... включение хоть всех юнитов в uses никак не скажется
> на объемах, ресурсах и тд. откомпилированного файла, если
> они не используются в программе ...


скажется. Во многих юнитах есть секция initialization.


User   (2008-07-22 14:39:00) [10]

> Игорь Шевченко ©   (20.07.08 21:03) [21]
докладываю результаты: при компиляции " ... with runtime packages" файлик пустой формы занимает 18 432 байта и из ресурсов только RCData и иконка (накидывание всяких элементов на форму раздувает только TFORM1, включение ресурсов по {$R х.res}добавляет этот ресурс), все необходимое находится в rtl x.bpl и vcl x.bpl ...

... включение хоть всех юнитов в usesникак не скажется на объемах, ресурсах и тд. откомпилированного файла, если они не используются в программе ...

... по поводу проведения свободного времени - кому как нравится (у меня Delphi как увлечение, т.к. моя работа не связана с программированием), хуже если его совсем нет ...


Германн   (2008-07-22 14:24:00) [11]


> Borland виноват - напихал, понимаешь, всяких вызовов ненужных

Но ведь - "Чтобы продать что-нибудь ненужное, надо сначала купить что-нибудь ненужное". (с)


Игорь Шевченко   (2008-07-22 09:46:00) [12]


> Эээ. А может разработчики NT тоже виноваты? Может они забыли
> принцип совместимости снизу вверх?


Borland виноват - напихал, понимаешь, всяких вызовов ненужных


Германн   (2008-07-22 01:05:00) [13]


> Игорь Шевченко ©   (21.07.08 13:18) [36]
>
> Anatoly Podgoretsky ©   (21.07.08 12:35) [35]
>
> Э...любая программа, скомпилированная на D6 не работала
> без SP4. Даже begin..end :)
>
>

Эээ. А может разработчики NT тоже виноваты? Может они забыли принцип совместимости снизу вверх?


Игорь Шевченко   (2008-07-21 15:13:00) [14]

Anatoly Podgoretsky ©   (21.07.08 15:02) [37]


> Надо было в системных требованиях указать SP6a


А толку-то ? Не было у меня на тот момент даже SP4 не говоря о SP6a...После войны с очередным линуском удалось взгромоздить NT4 SP1 и все :)


Anatoly Podgoretsky   (2008-07-21 15:02:00) [15]

> Игорь Шевченко  (21.07.2008 13:18:36)  [36]

> Впрочем, разработчиком и пользователем был я, поэтому взаимные претензии были урегулированы.

Надо было в системных требованиях указать SP6a


Игорь Шевченко   (2008-07-21 13:18:00) [16]

Anatoly Podgoretsky ©   (21.07.08 12:35) [35]

Э...любая программа, скомпилированная на D6 не работала без SP4. Даже begin..end :)

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


Anatoly Podgoretsky   (2008-07-21 12:35:00) [17]

> Игорь Шевченко  (21.07.2008 11:57:33)  [33]

А мне кажется разработчик лоханулся :-)
Не так ли?


brother   (2008-07-21 12:00:00) [18]

> Так что исследование внутренностей не всегда является пустой
> тратой времени.

трудовая необходимость )


Игорь Шевченко   (2008-07-21 11:57:00) [19]

Вот между прочим - несколько лет назад столкнулся с проблемой - программы, скомпилированные на Delphi 6 не хотели работать на NT4 без определенного сервис-пака. Потому что в их недрах были вызовы к oleaut32.dll (если мне память не изменяет), для работы программы даром не нужные, но тем не менее, явно слинкованные.
Пришлось делать патч, перебивать имена в секции импорта на oleaut33.dll и пустую dll-ку с нужными функциями рядом класть.

Так что исследование внутренностей не всегда является пустой тратой времени.


brother   (2008-07-21 09:57:00) [20]

Вот точно, людям время некуда девать...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо