1 (15.02.2011 18:55:40 отредактировано Yana)

Тема: Сборка на PC и на N900 - разница в размерах бинарников в 25 раз

Попробовала сегодня откомпилировать небольшую программку (точнее, скелет программы) на PC  с помощью QtCreatror'а. До этого проект собирала непосредственно на N900 с помощью qmake / make. Удивила разница в размере исполняемых файлов. На N900 бинарник занимал 153 Кб, а собранный QtCreator'ом - 3774 Кб. Разница - почти в 25 раз! Любопытно, чего этакого добавляет в бинарник QtCreator? При этом размер deb-пакета, полученного с помощью QtCreator'а - 1168 Kb.

Кстати, когда пару месяцев назад я собирала первый и последний раз deb-пакет, все закончилось тем, что после его установки телефон стал дико тормозить и пришлось переустанавливать систему. При этом то же приложение, запущенное из командной строки, нормально отрабатывало - и без подобных "побочных эффектов". Можно ли как-то проверить, насколько корректно собран deb-пакет и не приведет ли его установка к сбоям системы?

P.S.: поменяла в QtCreator'е "отладочную" сборку на "релизную" - размер исполняемого бинарника и deb-пакета составил соответственно 149 Kb и 112 Kb. С размером теперь все ясно. Но хотелось бы понять, корректно ли QtCreator собрал deb-пакет.

Поделиться

2

Re: Сборка на PC и на N900 - разница в размерах бинарников в 25 раз

Yana, проще всего зайти внутрь обоих .deb пакетов с помощью, например, mc(midnight commander) - он умеет прямо внутрь файла заходить, как в папку и показывать его содержимое. И сравнить структуру/содержимое.
Если хотите более детально докопаться до формата .deb файлов - это всё описано и разьяснено. Вот тут есть хорошая статья по низкоуровневой работе с .deb-пакетами: http://bappoy.pp.ru/2010/10/22/low-level-deb.html

В debug-режиме из бинарников не удаляется отладочная информация, потому размеры бинарных файлов намного больше. Эту информацию, кстати, можно удалять из бинарников вручную командой strip.

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

Сайт divan

Поделиться

3

Re: Сборка на PC и на N900 - разница в размерах бинарников в 25 раз

Yana он его никогда не собирает коректно насколько я заметил, чаще всего он папку debian неправльно использует. лучше собирать вручную с помощью Madde( тем более чтобы выложить в репозитории надо делать src пакет, а QtCreator это не умеет в принципе)

We all know Linux is great … it does infinite loops in 5 seconds.The only limiting factor of the Linux operating system is its user.

Поделиться

4 (15.02.2011 22:01:18 отредактировано Yana)

Re: Сборка на PC и на N900 - разница в размерах бинарников в 25 раз

bonapart, спасибо, буду иметь в виду, что не стоит ставить созданные QtCreator'ом пакеты smile

Никак не могу разобраться с Bluetooth. Пытаюсь установить библиотеку для работы с ним: apt-get install libbluetooth3-dev. В ответ:
...
You might want to run 'apt-get -f install' to correct these:
The following packages have umet dependencies:
qtmobility-libs: Depends: libqt4-experimental-core (>= 4.7.0~git20100908) but it is not going to be installed
Depends: libqt4-experimental-dbus (>= 4.7.0~git20100908) but it is not going to be installed
...

Пожалуйста, подскажите, как поставить на N900 bluez-dev или libbluetooth3-dev, чтобы можно было собирать код, работающий с bluetooth socket'ом. Ну, или как пересобрать их под Maemo.

Поделиться

5

Re: Сборка на PC и на N900 - разница в размерах бинарников в 25 раз

Yana, еще по поводу размеров файлов - когда собираешь на девайсе, то туда дебаговая информация по умолчанию не пихается - сделай ему strip и приятно удивишься уменьшившимся размером smile а если strip -R .comment -R .note то будет (возможно) еще круче smile

Сайт nsl

Поделиться