Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [qt4] Оптимизация статической линковки с QConfig, Где же взять QConfig? 
:(
    Опции темы
Kipter
Дата 30.7.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 2.5.2006

Репутация: нет
Всего: нет



Qt4 можно скомпилировать статически в очень миниатюрном виде, выкинув из библиотеки то что в программе не используеться. Лишние виджеты / классы и т д.
Так вот видел на скринах я и читал про такую тузлу как QConfig, -> http://doc.trolltech.com/4.3/qtopiacore-features.html
Которая позволяет с помощью макро-констант исключить из компиляции лишний код круче чем флаги ./configure

По скрину вы сами моете определить насколько круче.
Но я не понимаю где взять эту Qtopia в состав которой входит эта утилита.

Помогите найти эту программу =)
хочу скомпилированные статически исполняемые фаилы меньше мегабайта, с этой фигней это реально =)

потом мб. отпишу в этой теме FAQ по миниатюризации статически скомпилированных программ на QT

Это сообщение отредактировал(а) Kipter - 30.7.2009, 17:28
PM MAIL   Вверх
andrew_121
Дата 30.7.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Kipter, Не понятно для чего это нужно. При линковке, в конечную цель будет включен только только необходимый код. Ничего лишнего.

Поясните.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
SABROG
Дата 30.7.2009, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(Kipter @  30.7.2009,  17:27 Найти цитируемый пост)
Так вот видел на скринах я и читал про такую тузлу как QConfig,


Слышу звон, но не знаю где он? ;) А он здесь

Только ссылки на торрент уже не работают, но из моего текста понятно, что качать надо общий тарбол для всех платформ, там где есть приписка *all*, например: ftp://ftp.trolltech.com/qt/source/qt-all-...rc-4.5.2.tar.gz

Только не пиши тут и не задавай вопросов о проблемах или багах, которые будут всплывать в программах собранных с урезанным дистрибутивом. Подводных камней такой оптимизации море.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
andrew_121
Дата 31.7.2009, 03:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



SABROG, А смысл какой? Разве постом выше я не верно ответил?
Или что-то еще...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Kipter
Дата 31.7.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 2.5.2006

Репутация: нет
Всего: нет



Цитата
 Слышу звон, но не знаю где он? ;) А он здесь 

Большое спасибо =)

Цитата
 Только не пиши тут и не задавай вопросов о проблемах или багах, которые будут всплывать в программах собранных с урезанным дистрибутивом. Подводных камней такой оптимизации море. 

Хех,никто не собираеться разрабатывать программу на такой QT, на такой разве что релизнутую версию компилировать. А если после компиляции на такой сборке появяться лаги то будет понятно из-за чего, так что наврятли вопросы возникнут =)
Да и потом я сомневаюсь что из-за отключения фрагментов кода библиотеки с помощью макро-констант будут лаги, ведь я не куски кода вырезаю из библиотеки, а определяю константы с помощью этой программы от самих троллей =)

Цитата
 Kipter, Не понятно для чего это нужно. При линковке, в конечную цель будет включен только только необходимый код. Ничего лишнего. 

Вы сами то пробывали собирать прогу статически? =)))))
Окошко Hello World ~ 14 метров =)

Это сообщение отредактировал(а) Kipter - 31.7.2009, 12:48
PM MAIL   Вверх
Любитель
Дата 31.7.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 16
Всего: 92



Цитата(Kipter @  31.7.2009,  12:46 Найти цитируемый пост)
Да и потом я сомневаюсь что из-за отключения фрагментов кода библиотеки с помощью макро-констант будут лаги, ведь я не куски кода вырезаю из библиотеки, а определяю константы с помощью этой программы от самих троллей =)

Да-да, вы вырезаете куски кода. В Qt очень много обёрток для условной компиляции (типа выкинуть поддержку тулбаров или ещё чего-нибудь).

Цитата(Kipter @  31.7.2009,  12:46 Найти цитируемый пост)
Вы сами то пробывали собирать прогу статически? =)))))
Окошко Hello World ~ 14 метров =)

1. Если пользуетесь МинГВ - не забывайте про strip.
2. VC++ обычно код генерит меньше, кстати. Не знаю, почему - особо эту тему не исследовал.


--------------------
PM MAIL ICQ Skype   Вверх
andrew_121
Дата 31.7.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



Цитата(Kipter @  31.7.2009,  12:46 Найти цитируемый пост)
Вы сами то пробывали собирать прогу статически? =)))))

Нет.
Ибо считаю это не правильным.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Kipter
Дата 1.8.2009, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 2.5.2006

Репутация: нет
Всего: нет



Цитата(Любитель @  31.7.2009,  13:07 Найти цитируемый пост)
Да-да, вы вырезаете куски кода. В Qt очень много обёрток для условной компиляции (типа выкинуть поддержку тулбаров или ещё чего-нибудь).


да, неправильно выразился =)
всмысле не сам лезу в сорцы библиотеки и удаляю фрагменты кода =)

Вообще эта утилита и возможность отключения "лишнего" кода предназначены для embedded систем, где с ресурсами ну очень плоховато.
Вообщем потещу, посмотрим.... Но библиотека QT очень качественно разбита на модули, в том числе много независимых модулей...
если я не использую виджет QPushButton и я его отключу.... недумаю что это создаст какието проблемы =)
другое дело если отключать что то более серьезное =)


Цитата(andrew_121 @  31.7.2009,  18:35 Найти цитируемый пост)
Нет.Ибо считаю это не правильным.

Да я тоже в какойто степени считаю это неправильным...
но когда речь идет о Windows и о том что твоя программа эта всеголишь утилитка.... таскать с ней толстушку QT ну ужь слишком роскошно, да еще и инсталлятор прийдетсья делать =)

p.s только не отсылайте писать утилитки на WinApi =))) а на QT только большие проекты делать =)

Это сообщение отредактировал(а) Kipter - 1.8.2009, 06:01
PM MAIL   Вверх
SABROG
Дата 1.8.2009, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(andrew_121 @  31.7.2009,  03:25 Найти цитируемый пост)
SABROG, А смысл какой? Разве постом выше я не верно ответил?
Или что-то еще... 


Я думаю тебе уже ответили. Линковщик выкидывает не все. .a файлы это всего лишь archive .o файлов. Линковщик может вырезать модуль (.o) целиком, если он не используется, но если там хотя бы что-то используется, то он его включает целиком. QConfig выкидывает код кусками из исходников путем влияния на дефайны. Не смотря на то, что там вроде как идет отслеживание зависимостей, всего утилита не учитывает. 


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
just_geek
Дата 1.8.2009, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



Следует отметить что с какими-то отключенными вещами компиляция может вообще не пройти. Например, QT_NO_SESSIONMANAGER
PM MAIL   Вверх
andrew_121
Дата 1.8.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 11
Всего: 33



SABROG, Спасибо.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0995 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.