Вверх ↑
Ответов: 273
Рейтинг: 29
#1: 2010-12-10 09:16:26 ЛС | профиль | цитата
Эх... тоже пофлужу немного, раз такая пьянка
Про размер[flood]Та прога без иконки в 2кб - она вообще без всего, там только вызов messagebox с параметрами,
и выход(несколько десятков байт, остальное - служебные структуры и выравнивание)... Мало того, ее еще сжать можно...
Но нужно ли?
Гораздо больше места занимают выравнивания и dos-заголовок, чем какая-то иконка...
И даже в такой пустой проге можно пройтись дизассемблером и найти лишие команды (в конце).
Есть куча способов уменьшить размер. Например пакеры, использование api, dll,
после компиляции пройтись по exe спец-прогами - удалить всю лишнюю инфу(компиляторы любят добавлять свое), иконки, ресурсы,
а в конце пересобрать в petools(в особых случаях можно hexedit'ом пройтись).
Подобные маленькие проги на асме пишут - небольшие и быстрые exe (микроджоинер в пример - 15 кб, с иконками, ресурсами и формой)
Хотя конечно, если функционал у ней не простой - тут быстрее на обычных языках
Я не профи, есть куча доков по оптимизации в сети[/flood]Про скорость[flood]Скорость считывания инфы о 50000 файлах? А оно надо?
Часто ли такая необходимость возникает? Тогда лучше Totalcmd или Far туда лазить, а не експлорером.
А вообще если это служебная папка с 100500 exe, то туда не часто лазят.
Эти exe косвенно запускают, без просмотра, через комстроку или из другого exe[/flood]В общем[flood]Насколько я понял человек хочет делать exe-модули, чтоб каждый выполнял только свою функцию...
Потому и такие разборки - иконки вроде особо не мешают, но и не нужны... А вырезать из каждого exe иконки тоже муторно...
Но тут уж ничего не поделаешь - и в delphi с подобной проблемой сталкиваются, решают [burl=http://programmersforum.ru/showthread.php?s=34e9d12972e16cad49024bac16d9f9a3&t=39407&page=2]так[/burl], т.е. сторонними прогами, без вмешательства в исходники(хз, че может посыпаться при неосторожном вмешательстве)[/flood]
PS Осторожно! Все вышенастроченное дается на правах ИМХО - спорить ни с кем не буду...
карма: 0

0