|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.11.2009, 21:11 | #21 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Ув. ТС.
Вам русским языком объяснили, что по-умолчанию модуль System подключается и отключить его нельзя. По большому счёту его функции занимают всё место. Ну и конечно плюс особенности компилятора(он включает в исполняемый файл различную ОИ и тп). Если вам так охота уменьшить размер Exe, то режьте модуль System.(лично мне не охота тратить на такие глупости время) Если вам охота посмотреть, что это там такое, занимает такой объем, то дизассемблер вам в руки.
pushl $0x18E3DF6B
call ICQ |
27.11.2009, 21:15 | #22 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Это - пока только предупреждение. Будьте сдержаннее в эмоциях... И еще... Тут никто никому ничего не обязан. Последний раз редактировалось mihali4; 27.11.2009 в 21:17. |
|
28.11.2009, 14:31 | #23 |
Пользователь
Регистрация: 16.01.2009
Сообщений: 24
|
Боже упаси, если я умышленно кого-то оскорбил или задел чувство собственного достоинства.. если кто-то посчитал именно так - я дико извиняюсь. По моему я вполне корректно задал вопрос в начале темы... Ответов было много, но среди них есть и противоречия. Одни утверждают, что на Delphi все-таки можно создать приложение меньше 13 кб, другие говорят, что этот модуль отключить невозможно, третьи вообще экспериментировали с подключенными модулями.. ....и кода, который бы "весил" меньше 10-13 кб так никто и не привел..
С самого начала увлечения программированием, абсолютно в каждой прочитанной мною книге, я встречал строки в которых говорится о том, что каждый истинный программист должен стремиться к минимизации и оптимизации своего кода не взирая на постоянное совершенствование железа. Разве не так? Вполне понятно, что я обнаружив приличный вес пустой программы заинтересовался...."ПОЧЕМУ ТАК ?!?!" После ассемблерных программ этот факт показался мне не очень приятным, и не найдя на это ответа в книге я и обратился за помощью к многоуважаемым участникам сего форума... Все-таки 13.5 кб это много!!! Лучше будет перейти на СИ. Он к ассемблеру поближе будет... интересно как там обстоит дело с "пустым" приложением. |
28.11.2009, 14:59 | #24 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
28.11.2009, 15:19 | #25 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
В Си нет SmartLinking, так что можно запросто получить ещё больший размер.
|
28.11.2009, 15:41 | #26 | |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Цитата:
Коротко - Assembler работает на аппаратном уровне, оперирует непосредственно регистрами процессора и памяти. Отсюда и его плюс - быстродействие и малый размер программ. Тут же и минус - Assembler жестко привязан к конкретному "железу". Языки высокого уровня (СИ, Дельфи и т.п.) работают с операционной системой, для чего и требуются значительные ресурсы, т.е. размер программ (это минус). Зато плюс во "всеядности" ЯВУ - программа работает во многих операционных системах, при любом (в разумных пределах) "железе", легко подвергается адаптации и модификации. Повторюсь: сначала надо определиться с задачей, которую надо решить при помощи программирования. А затем уже выбирать язык или среду программирования. А заявления типа "Не нравится мне твоя рожа, Шарапов" - это, извините, детский лепет. Вроде бы Вам объяснили, почему нельзя есть мороженое в декабре, а Вы все - "хОчу!"
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
|
28.11.2009, 16:03 | #27 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
вот программка, которая компилируется в exe-шник менее 100 байт: Код:
Цитата:
А вообще, Вы делаете одну очень большую стратегическую ошибку... Много-много лет назад у меня была беседа с одним умным человеком (в то время системный программист и администратор на очень крупном заводе тяжпрома, а теперь он уже много лет программист в Штатах). И как раз я сетовал на Гигантский объём какой-то программы... (правда, в то время "гигантский" объём, это было больше мегабайта ). И он втолковывал мне одну простую и очевидную вещь, которая, тем не менее, воспринимается как парадоксальная.... Нельзя сравнивать цены на "железные" вещи и цену труда Программиста. Ведь для того, чтобы докупить память, потребуется несколько десятков долларов, а вот для того, чтобы уменьшить/переписать/оптимизировать серьёзный, большой программный проект понадобится самое дорогое — Человеко-Часы. причём, не простого кодера, а именно Программиста... А это уже сотни, тысячи и десятки тысяч долларов... и время, время, время.. Не верите? Сколько у Вас потребуется времени, чтобы написать программку, которая подключается к СУБД, выполняет запрос и по результам запроса рисует и раскрашивает простую картинку. Пять минут? Десять? Двадцать? А теперь то же самое сделайте на ассемблере? Чуть больше времени займёт? (только не надо мне рассказывать, что Вы в ассемблере можете использовать WinAPI, OpenGL, ADO и другие библиотеки во-первых, все эти вещи объёмом намного больше 13 кб ; а во-вторых, чем по сути ваша программа на ассемблере, вызывающая функции WinAPI будет отличаться от такой же на C, Pascal'е, Delphi и т.д.) А сколько строчек исходного текста будет? А лёгкость отладки/модификации/сопровождения? А защита от исключительных ситуаций? А надёжность? По Вашему программа размером 1 Мб ровно в десять раз менее надёжна, чем программа размером 100 кбайт?! Нет, вольному - воля: хотите, пишите проекты на ассемблере. Станете профи - возможно найдёте свою нишу, такие специалисты тоже нужны. Но поверьте мне востребованность программиста способного написать программу решающую задачу (с exe-шником ЛЮБОГО размера) - НАМНОГО выше... |
||
28.11.2009, 16:16 | #28 |
Oldschool geek
Форумчанин
Регистрация: 09.03.2009
Сообщений: 611
|
Меня терзают смутные сомнения, что это .com для DOS. А в Windows exe'шнике непременно будут таблицы релокаций, таблицы импорта, ресурсы, и всё это будет весить как раз порядка 13Кб. Кстати, 13Кб — это офигенно мало. В любой мало–мальски серьёзной программе вес пользовательского кода покроет вес рантайма.
|
28.11.2009, 17:16 | #29 | |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
Цитата:
Открывай модуль System и режь все функции и получишь небольшой EXE. 13 кб это кстати мало.
pushl $0x18E3DF6B
call ICQ |
|
28.11.2009, 19:01 | #30 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
программа 160 м.б весит ее нужно сжать до 50. WinRar так не сжимет | Alex2009 | Свободное общение | 9 | 30.11.2009 15:46 |
Почему так происходит? | Zeraim | Общие вопросы Delphi | 1 | 05.05.2008 14:10 |
Вопросов много, так что попорядку! | Ermiss | Общие вопросы Delphi | 14 | 01.11.2007 16:18 |
Почему так? | Сильванович Михаил | Общие вопросы C/C++ | 2 | 03.07.2007 11:57 |
Обьясните почему так... | malevich | Общие вопросы Delphi | 5 | 10.02.2007 17:29 |