Название: Компактный exe под Windows XP и выше Отправлено: LisandreL от Январь 16, 2013, 07:29 Нужно написать небольшую утилитку.
Простенький GUI (окно, кнопки, поля ввода, лейбелы) + SQLite. Хочется относительно компактно (SQLite всё равно килобайт 300 даст) без кучи dll или установки всяких redistributable. Вопрос на чём писать. Вспоминать Delphi? Вспоминать WinApi (не хочется)? Какие ещё варианты? Название: Re: Компактный exe под Windows XP и выше Отправлено: Bepec от Январь 16, 2013, 08:24 Эм... winApi/С++ даст самый малый размер для Windows.
Модуль sqlite опять же хз сколько весить будет :) (поверим что 300 кб) Я уже давно плюнул на "самый малый размер и один файл", ибо сейчас 2-5 мб не решают роли. А суя всё в один файл, мучаясь и вспоминая winApi, матеря всякие там параметры - нафиг надо. PS мне заказчики так говорят - нам похрен сколько файлов, главное чтобы работало. И это верно по-моему. Название: Re: Компактный exe под Windows XP и выше Отправлено: Serr500 от Январь 16, 2013, 08:37 1) C# можно попробовать. Зависимость будет только одна - от .NET. На всех современных Win она идёт в дистрибутиве. Бинарники получаются весьма компактными. По поводу SQLite в C# ничего сказать не могу.
2) Если без кучи dll, то можно сделать статическую сборку Qt, выкинув при конфигурировании всё ненужное. Конечно, получится тяжеловато, но можно пожать бинарник UPX'ом. Название: Re: Компактный exe под Windows XP и выше Отправлено: StLynx от Январь 16, 2013, 08:38 Господа, а под WinAPI вы имеете ввиду MFC?
Название: Re: Компактный exe под Windows XP и выше Отправлено: LisandreL от Январь 16, 2013, 08:48 C# можно попробовать. Зависимость будет только одна - от .NET. На всех современных Win она идёт в дистрибутиве. Бинарники получаются весьма компактными. По поводу SQLite в C# ничего сказать не могу. С SQLite в C# всё хорошо (как и во многих других языках). Но вот в XP (даже если вы не считаете её современной), указанной в заголовке темы, .NET нет даже первого. Название: Re: Компактный exe под Windows XP и выше Отправлено: Bepec от Январь 16, 2013, 08:52 Помоему выбор очевиден - голый winApi/с++, если очень хочется малого файла.
Да ещё и разработанный в каком нить 2005 рантайме :) PS хотя незнаю, какой там рантайм в Xp то был по умолчанию? Название: Re: Компактный exe под Windows XP и выше Отправлено: Пантер от Январь 16, 2013, 08:59 На Асме пиши.
Название: Re: Компактный exe под Windows XP и выше Отправлено: xokc от Январь 16, 2013, 09:03 Delphi 3/5/7 + KOL (http://www.kolmck.net/) = Компактность WinAPI и удобство Delphi.
Название: Re: Компактный exe под Windows XP и выше Отправлено: Serr500 от Январь 16, 2013, 09:10 Но вот в XP (даже если вы не считаете её современной), указанной в заголовке темы Упс... Не заметил, извиняюсь...Название: Re: Компактный exe под Windows XP и выше Отправлено: Igors от Январь 16, 2013, 09:11 Никогда не занимался базами, поэтому про SQLite ничего не скажу. Но с точки зрения UI - WinAPI не так уж плох, если простенькое окно - ну день максимум, даже если все забыто
Название: Re: Компактный exe под Windows XP и выше Отправлено: Serr500 от Январь 16, 2013, 09:13 Господа, а под WinAPI вы имеете ввиду MFC? WinAPI и MFC - совершенно разные вещи. MFC - это надстройка над WinAPI, что-то типа библиотеки готовых классов для ускорения и упрощения разработки.Название: Re: Компактный exe под Windows XP и выше Отправлено: StLynx от Январь 16, 2013, 09:20 Я знаю, что это такое. Спасибо за ликбез :)
Просто недоумеваю зачем писать на голом WinAPI, когда есть MFC - вот и уточнил. Название: Re: Компактный exe под Windows XP и выше Отправлено: Serr500 от Январь 16, 2013, 09:32 На голом WinAPI бинарник компактнее. Он не тащит с собой кучу лишнего из MFC. Но и писать намного сложнее.
Название: Re: Компактный exe под Windows XP и выше Отправлено: kuzulis от Январь 16, 2013, 09:56 @LisandreL,
Для твоей цели отлично подойдет WTL! Название: Re: Компактный exe под Windows XP и выше Отправлено: vregess от Январь 16, 2013, 11:39 Если не хочешь WinAPI, то еще можешь глянуть FLTK (http://www.fltk.org/) и Fox-Toolkit (http://www.fox-toolkit.org/) (не уверен по поводу размера).
Ну и на закуску, можно написать скрипт AutoIt (http://www.autoitscript.com/site/autoit/) и скомпилировать в exe - тут вопрос, придётся ли таскать sqlite dll с собой (я думаю, это можно обойти). Название: Re: Компактный exe под Windows XP и выше Отправлено: Alex Custov от Январь 16, 2013, 13:49 По описанию программа довольно простая. Поэтому Win32 API. Если хочется экзотики и максимально малого экзешника - то MASM32 :)
Название: Re: Компактный exe под Windows XP и выше Отправлено: Bepec от Январь 16, 2013, 15:13 А можно плюнуть и написать жаба скрипт! Который будет выполняться сервером сценариев :D
Название: Re: Компактный exe под Windows XP и выше Отправлено: LisandreL от Январь 19, 2013, 13:04 Ну и на закуску, можно написать скрипт AutoIt (http://www.autoitscript.com/site/autoit/) и скомпилировать в exe - тут вопрос, придётся ли таскать sqlite dll с собой (я думаю, это можно обойти). Когда последний раз автоитом баловался, он сравнительно пухлые экзешники делал. Может с того времени что-то изменилось. Проверять не стал.Delphi 3/5/7 + KOL (http://www.kolmck.net/) = Компактность WinAPI и удобство Delphi. В общем написал на связке Лазаруса (http://www.lazarus.freepascal.org/) и KOL-CE (http://wiki.freepascal.org/KOL-CE/ru). libsqlite.a собирал при помощи MinGW, заголовочник взял отсюда (https://github.com/plashenkov/SQLite3-Delphi-FPC/blob/master/Source/SQLite3.pas), подправив под статическую линковку. Получилось где-то 440кб из них ~50 на GUI, остальное SQLite с собой притащил. 210кб в зипе. 190кб с ultra-brute UPX. Наверняка можно было и меньше, но меня устраивает. Теперь о НО: Лазарус как IDE вызывает отторжение, KOL-CE перед установкой приходится патчить (http://sourceforge.net/tracker/?func=detail&aid=3565831&group_id=188451&atid=925375) и то работает не всё (http://sourceforge.net/tracker/?func=detail&aid=3565830&group_id=188451&atid=925373). В общем что-то более ли менее серьёзное я на этой связке писать бы не стал, но вспомнить Pascal было приятно. Название: Re: Компактный exe под Windows XP и выше Отправлено: kuzulis от Январь 19, 2013, 13:22 А почему WTL в связке MSVC не попробовал?
Название: Re: Компактный exe под Windows XP и выше Отправлено: LisandreL от Январь 19, 2013, 13:39 Да не почему особо. Просто выбрал быстро что-то одно и быстро написал.
Название: Re: Компактный exe под Windows XP и выше Отправлено: panAlexey от Январь 20, 2013, 14:32 А почему WTL в связке MSVC не попробовал? +1 Тоже вспомнил про него. Название: Re: Компактный exe под Windows XP и выше Отправлено: gil9red от Февраль 24, 2013, 03:36 Может быть еще сжать ехешник чем то наподобии UPX? :)
|