|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.12.2011, 00:58 | #1 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 56
|
библиотеки и размер исполняемого файла
Обычно считают, что код напрямую обращающийся к API ОС выполняется быстрее и размер executable файла меньше чем когда юзают через библиотеки.
Но почему так? Точнее, что добавляется "лишнего" в исполняемый файл при использовании библиотек?? Ведь в конце концов в этих библиотеках всё равно происходят вызовы API ОС.. |
25.12.2011, 02:56 | #2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
про какие библиотеки речь?
если проект скомпилить с рантайм-библиотеками, так он станет в разы меньше, а не больше.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
25.12.2011, 03:08 | #3 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 56
|
Ну, например, если в дельфи не использовать VCL формы и.т.д. , а описать GUI на чистом Win API - тогда exe станет в разы меньше..
Что "лишнее" в exeшнике при VCL?? |
25.12.2011, 03:40 | #4 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
ну так вцл скрывает от разработчика 1000 мелочей, которые необходимы для взаимодействия с АПИ. Замахаешься же ручками всё это вызывать и регистрировать.
Свой довесок даёт поддержка чтения контролов из dfm, но зато мы имеем возможность визуально программировать. Ну и не забываем про RTTI, при большом дереве классов (а в вцл оно большое), это тоже занимает какое-то место. Кроме этого там почти ничего "лишнего" )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
25.12.2011, 04:03 | #5 |
Пользователь
Регистрация: 18.04.2010
Сообщений: 56
|
Вот, если сравнить 2 бинарных исполняемых файла:
один, написанный при использовании чистого Win API второй, написанный при использовании VCL Функционал у них абсолютно одинаков.. Но что же дополнительного в более жирном exeшнике?? |
25.12.2011, 05:37 | #6 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Зашли на второй круг.
Давайте ещё сравним прогу, написанную на асме и на языке высокого уровня. И удивимся, что это она так разбухла. По большому счёту можно и без Win API обойтись, зафигачим свой драйвер, зачем нам этот жырный API. Да и винда, собственно, тоже не нужна, работали в ДОС 20 лет, никто не жаловался.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вывод имени файла(исполняемого)в cmd | molan | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 24.03.2012 09:36 |
Предупреждение построения => ошибка запуска исполняемого файла | Лунатик222 | Visual C++ | 1 | 09.10.2011 22:58 |
Что еще тащить с IBX, кроме исполняемого файла? | AutoHare | БД в Delphi | 0 | 21.10.2010 21:22 |
Способы уменьшения исполняемого файла в Delphi 2010 | STRELOK-2007 | Общие вопросы Delphi | 3 | 23.06.2010 12:23 |
Создание исполняемого EXE-файла | Jean-Esther | Помощь студентам | 5 | 03.03.2009 21:52 |