Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Кроссплатформ.?Стат. линк?Маленький размер?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 V1KT0P

V1KT0P

    Старший сержант

  • Пользователи
  • 49 сообщений

Отправлено 29 July 2008 - 20:20

С помощью чего можно создать кроссплатформенное, маленькое приложение слинкованное статически?
Я пробывал использовать связку Code::Blocks+MinGW+wxWidgets, но тестовая(тупое окно без ничего) прога получается весом 2.2 метра, в сжатом 650 кило.

#2 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 30 July 2008 - 08:29

V1KT0P!
Кроссплатформенное? А не прощи ли на WinAPI написать программу - через wine её можно будет запустить на всяких иксах. Mac - это, как правило, отдельная песня, так что если не распространяешь программу в исходниках, с кучей проверок, если одна система, если другая и если третья - то сделать программу кроссплатформенной - просто, ИМХО, нереально.
И, кстати, не надо забывать что всякие GTK+ и прочие SDL'ы, конечно, может и кроссплатформенные, но конечному пользователю, скажем под Windows, к приложению в 20 Кб, придётся качать ещё всяких .DLL на 10 Мб - так что это тоже, ещё тот, обмен шила на мыло.
И ещё, насчёт размера - ты отладочную инфу снимать не забываешь какой-нибудь strip-утилитой? А то в сишных программах по жизни всякого мусора больше чем полезного кода.

#3 V1KT0P

V1KT0P

    Старший сержант

  • Пользователи
  • 49 сообщений

Отправлено 30 July 2008 - 09:12

-=CHE@TER=-

Мне просто не нравится WinAPI, он вызывает у меня рвотный рефлекс. Ведь используя WinAPI уже не получится создавать GUI кликами мышки, а надо будет писать кучу кода создающего его. Я лучше пожертвую размером проги ради ускорения написания проги и удобства.

#4 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 31 July 2008 - 17:52

V1KT0P!
Ну почему же? Есть утилиты, позволящие создавать формы, кнопки и прочие элементы в два клика мышки, а затем всё это дело можно сохранить в ресурс-файл, прилинковать к программе и оттуда же при запуске загружать и создавать форму. Быстро и просто.
Другое дело, что при жертвовании размером программы и удобством её написания, ты жертвуешь трафиком и нервами потенциальных пользователей. Это только за бугром где-нибудь у всех и каждого анлим, а также дешёвый и качественный Интернет.

Впрочем, это всё дело вкуса, так что переубеждать не собираюсь. (*улыбается*)

#5 V1KT0P

V1KT0P

    Старший сержант

  • Пользователи
  • 49 сообщений

Отправлено 31 July 2008 - 18:28

-=CHE@TER=-

А я никого пользоваться своими прогами не заставляю biggrin.gif . Кому жалко трафика(у мня анлим, мне пофиг smile.gif ) пусчай качают исходник и компилят сами laugh.gif

Цитата
Ну почему же? Есть утилиты, позволящие создавать формы, кнопки и прочие элементы в два клика мышки, а затем всё это дело можно сохранить в ресурс-файл, прилинковать к программе и оттуда же при запуске загружать и создавать форму. Быстро и просто.

Способствует ли это кроссплатформенности или наоборот?

#6 -=CHE@TER=-

-=CHE@TER=-

    Полковник

  • Администраторы
  • 971 сообщений
  • Пол:Мужчина

Отправлено 01 August 2008 - 08:46

V1KT0P!
Ресурсы - это, по моему, чисто 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 V1KT0P

V1KT0P

    Старший сержант

  • Пользователи
  • 49 сообщений

Отправлено 01 August 2008 - 09:50

-=CHE@TER=-

Цитата
Если не париться - то можно сделать консольное приложение на Си.
При соблюдении некоторых условий оно точно будет кроссплатформенным (к тому же ещё и небольшого размера).
Один минус - сейчас мало кто консольными программами пользоваться умеет - так что очень быстро достанут с вопросами "как оно работает?".

Вот именно, например ща делаю прогу для распаковки в которой будет список файлов и можно будет выбрать какие распаковать, а какие пропустить, плюс кнопки "Выбрать все", "Убрать выделения", "Инвентировать". Т.е. прога простая и разобраться новичку легко, но вот как такую же прогу на консоли написать без потери функциональности и удобности не знаю sad.gif .

Временно хотел использовать Dev-C++, но больно тормозное это поделие, иммею ввиду работу с wxWidgets sad.gif . Вот Code::Blocks быстро работает, но там свои нюансы(типа нельзя в исходниках использовать русские символы) angry.gif .

Есть еще вариант для простых прог сделать аналог на MVC++ c динамической линковкой, вроде проблем с запуском не должно быть, даже если нужная библиотека в системных папках отсутствует, с большой вероятность можно будет найти ее в папке с какой-нибуть программой biggrin.gif .