Кроссплатформ.?Стат. линк?Маленький размер?
Автор
V1KT0P
, Jul 29 2008 20:20
Сообщений в теме: 6
#1
Отправлено 29 July 2008 - 20:20
С помощью чего можно создать кроссплатформенное, маленькое приложение слинкованное статически?
Я пробывал использовать связку Code::Blocks+MinGW+wxWidgets, но тестовая(тупое окно без ничего) прога получается весом 2.2 метра, в сжатом 650 кило.
Я пробывал использовать связку Code::Blocks+MinGW+wxWidgets, но тестовая(тупое окно без ничего) прога получается весом 2.2 метра, в сжатом 650 кило.
#2
Отправлено 30 July 2008 - 08:29
V1KT0P!
Кроссплатформенное? А не прощи ли на WinAPI написать программу - через wine её можно будет запустить на всяких иксах. Mac - это, как правило, отдельная песня, так что если не распространяешь программу в исходниках, с кучей проверок, если одна система, если другая и если третья - то сделать программу кроссплатформенной - просто, ИМХО, нереально.
И, кстати, не надо забывать что всякие GTK+ и прочие SDL'ы, конечно, может и кроссплатформенные, но конечному пользователю, скажем под Windows, к приложению в 20 Кб, придётся качать ещё всяких .DLL на 10 Мб - так что это тоже, ещё тот, обмен шила на мыло.
И ещё, насчёт размера - ты отладочную инфу снимать не забываешь какой-нибудь strip-утилитой? А то в сишных программах по жизни всякого мусора больше чем полезного кода.
Кроссплатформенное? А не прощи ли на WinAPI написать программу - через wine её можно будет запустить на всяких иксах. Mac - это, как правило, отдельная песня, так что если не распространяешь программу в исходниках, с кучей проверок, если одна система, если другая и если третья - то сделать программу кроссплатформенной - просто, ИМХО, нереально.
И, кстати, не надо забывать что всякие GTK+ и прочие SDL'ы, конечно, может и кроссплатформенные, но конечному пользователю, скажем под Windows, к приложению в 20 Кб, придётся качать ещё всяких .DLL на 10 Мб - так что это тоже, ещё тот, обмен шила на мыло.
И ещё, насчёт размера - ты отладочную инфу снимать не забываешь какой-нибудь strip-утилитой? А то в сишных программах по жизни всякого мусора больше чем полезного кода.
#3
Отправлено 30 July 2008 - 09:12
-=CHE@TER=-
Мне просто не нравится WinAPI, он вызывает у меня рвотный рефлекс. Ведь используя WinAPI уже не получится создавать GUI кликами мышки, а надо будет писать кучу кода создающего его. Я лучше пожертвую размером проги ради ускорения написания проги и удобства.
Мне просто не нравится WinAPI, он вызывает у меня рвотный рефлекс. Ведь используя WinAPI уже не получится создавать GUI кликами мышки, а надо будет писать кучу кода создающего его. Я лучше пожертвую размером проги ради ускорения написания проги и удобства.
#4
Отправлено 31 July 2008 - 17:52
V1KT0P!
Ну почему же? Есть утилиты, позволящие создавать формы, кнопки и прочие элементы в два клика мышки, а затем всё это дело можно сохранить в ресурс-файл, прилинковать к программе и оттуда же при запуске загружать и создавать форму. Быстро и просто.
Другое дело, что при жертвовании размером программы и удобством её написания, ты жертвуешь трафиком и нервами потенциальных пользователей. Это только за бугром где-нибудь у всех и каждого анлим, а также дешёвый и качественный Интернет.
Впрочем, это всё дело вкуса, так что переубеждать не собираюсь. (*улыбается*)
Ну почему же? Есть утилиты, позволящие создавать формы, кнопки и прочие элементы в два клика мышки, а затем всё это дело можно сохранить в ресурс-файл, прилинковать к программе и оттуда же при запуске загружать и создавать форму. Быстро и просто.
Другое дело, что при жертвовании размером программы и удобством её написания, ты жертвуешь трафиком и нервами потенциальных пользователей. Это только за бугром где-нибудь у всех и каждого анлим, а также дешёвый и качественный Интернет.
Впрочем, это всё дело вкуса, так что переубеждать не собираюсь. (*улыбается*)
#5
Отправлено 31 July 2008 - 18:28
-=CHE@TER=-
А я никого пользоваться своими прогами не заставляю . Кому жалко трафика(у мня анлим, мне пофиг ) пусчай качают исходник и компилят сами
А я никого пользоваться своими прогами не заставляю . Кому жалко трафика(у мня анлим, мне пофиг ) пусчай качают исходник и компилят сами
Цитата |
Ну почему же? Есть утилиты, позволящие создавать формы, кнопки и прочие элементы в два клика мышки, а затем всё это дело можно сохранить в ресурс-файл, прилинковать к программе и оттуда же при запуске загружать и создавать форму. Быстро и просто. |
Способствует ли это кроссплатформенности или наоборот?
#6
Отправлено 01 August 2008 - 08:46
V1KT0P!
Ресурсы - это, по моему, чисто Windows фича, так что вряд ли способствует.
Кстати, насчёт исходников - тоже не выход, особенно, если человек не программист или у него нет необходимого компилятора (ещё и компилятор качать).
Если не париться - то можно сделать консольное приложение на Си.
При соблюдении некоторых условий оно точно будет кроссплатформенным (к тому же ещё и небольшого размера).
Один минус - сейчас мало кто консольными программами пользоваться умеет - так что очень быстро достанут с вопросами "как оно работает?".
Сам я использую для компиляции Сишных проргамм DEV-CPP (кстати, если есть желание, то посмотри примеры - там как раз есть работа с ресурсами):
Ресурсы - это, по моему, чисто Windows фича, так что вряд ли способствует.
Кстати, насчёт исходников - тоже не выход, особенно, если человек не программист или у него нет необходимого компилятора (ещё и компилятор качать).
Если не париться - то можно сделать консольное приложение на Си.
При соблюдении некоторых условий оно точно будет кроссплатформенным (к тому же ещё и небольшого размера).
Один минус - сейчас мало кто консольными программами пользоваться умеет - так что очень быстро достанут с вопросами "как оно работает?".
Сам я использую для компиляции Сишных проргамм DEV-CPP (кстати, если есть желание, то посмотри примеры - там как раз есть работа с ресурсами):
Код |
gcc.exe -Wall -ansi -pedantic program.c -o program.exe strip.exe program.exe |
Если никаких предупреждений и ошибок нет - с большой вероятностью будет без единого изменения в коде работать под любой платформой (для MAC'а может, конечно, что-то менять придётся, и да - не нужно забывать, про то что перевод строки в иксах - это "\n" (10), а не "\r\n" (13 10), так что неплохо бы конечный исходный файл чем-нибудь обработать на тему замены переводов строк).
strip.exe нужен для того, чтобы .EXE не был слишком толстым.
DEV-CPP использует msvcrt.dll, так что, кажется, без установки 6-го IE на Windows 95/98 сиё не запустится.
#7
Отправлено 01 August 2008 - 09:50
-=CHE@TER=-
Цитата |
Если не париться - то можно сделать консольное приложение на Си. При соблюдении некоторых условий оно точно будет кроссплатформенным (к тому же ещё и небольшого размера). Один минус - сейчас мало кто консольными программами пользоваться умеет - так что очень быстро достанут с вопросами "как оно работает?". |
Вот именно, например ща делаю прогу для распаковки в которой будет список файлов и можно будет выбрать какие распаковать, а какие пропустить, плюс кнопки "Выбрать все", "Убрать выделения", "Инвентировать". Т.е. прога простая и разобраться новичку легко, но вот как такую же прогу на консоли написать без потери функциональности и удобности не знаю .
Временно хотел использовать Dev-C++, но больно тормозное это поделие, иммею ввиду работу с wxWidgets . Вот Code::Blocks быстро работает, но там свои нюансы(типа нельзя в исходниках использовать русские символы) .
Есть еще вариант для простых прог сделать аналог на MVC++ c динамической линковкой, вроде проблем с запуском не должно быть, даже если нужная библиотека в системных папках отсутствует, с большой вероятность можно будет найти ее в папке с какой-нибуть программой .