LINUX.ORG.RU

Ответ на: комментарий от jo_b1ack

но наверно имелось ввиду статическая линковка библиотек.

имелась в виду компиляция со статической линковкой, да

это много?

это просто дохрена, когда оно запустится на типичном офисном барахловом компе, у которого гиг/два оперативы.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

Альтернативы есть всегда если их искать. Но делать это за тебя я не собираюсь а решению статически слинковать с Qt я просто аплодирую стоя. Так держать.

init_6 ★★★★★
()
Ответ на: комментарий от init_6

Альтернативы есть всегда если их искать. Но делать это за тебя я не собираюсь

всё с вами ясно. очередной диванный теоретик.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

6 МБ это много?

это просто дохрена, когда оно запустится на типичном офисном барахловом компе, у которого гиг/два оперативы.

Реквестирую связь между размером бинарника и размером в памяти

UVV ★★★★★
()
Ответ на: комментарий от EXL

Как ты будешь выпускать программку использующую Qt под большинство дистров онтопика?

Как я уже сказал, я положу в архив версию Qt, которую я использую, а также зафигачу скрипт с LD_LIBRARY_PATH, чтобы пользователь не мучался «почему у меня не работает».

UVV ★★★★★
()

Уже раз десять сказали про strip, а в ответ ничего. Ну и поиграться с флагами gcc тоже надо попробовать.

jeuta ★★★★
()
Ответ на: комментарий от next_time

всё с вами ясно. очередной диванный теоретик.

Безусловно, здесь все в этом треде теоретики. И только практики линчуют Qt статически.

UVV ★★★★★
()
Ответ на: комментарий от next_time

это просто дохрена, когда оно запустится на типичном офисном барахловом компе, у которого гиг/два оперативы.

это просто Qt, от этого ты никуда не уйдешь. Хотите мало затрат,напишите сами работу с ком портом под все платформы,благо это не так сложно.

Хотя учитывая вашу фразу про «типичном офисном барахловом компе»,думаю кросплатформенность для вас просто галочка в фичлисте,тк известно что за ОС на этих «компах»

jo_b1ack ★★★★★
()
Ответ на: комментарий от UVV

исполняемый код бинарника загружается в оперативную память, стало быть вес бинарника сказывается на потреблении оперативной памяти.

next_time ★★★★★
() автор топика
Ответ на: комментарий от jeuta

стрип помог, я сейчас с ним и ковыряюсь.

next_time ★★★★★
() автор топика
Ответ на: комментарий от UVV

И только практики линчуют Qt статически.

именно, потому, что у практиков есть тех задание. будь моя воля, я бы линковал динамически.

next_time ★★★★★
() автор топика
Ответ на: комментарий от jo_b1ack

известно что за ОС на этих «компах»

как раз нет, туда нередко и бубунту вкорячивают.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

Мне стало жаль троллить тебя тонко, я просто оставлю это здесь:

#include <stdlib.h>
 
void function_which_allocates(void) {
    /* allocate an array of 45 floats */
    float *a = malloc(sizeof(float) * 45);
}
 
int main(void) {
    while (1) {
        function_which_allocates();
    }
}
P.S.: Размер бинарника будет килобайт 10, а то и меньше.

UVV ★★★★★
()
Ответ на: комментарий от jo_b1ack

Хотите мало затрат,напишите сами работу с ком портом под все платформы,благо это не так сложно.

поздно уже. в теории, использование куте обещало и другие профиты, но в итоге они все слились, из-за того, что статическая компиляция на куте кривая.

next_time ★★★★★
() автор топика
Ответ на: комментарий от next_time

исполняемый код бинарника загружается в оперативную память

просто ради интереса скомпилируйте со статикой и динамикой и покажите сколько кушают оба варианта, кажется мне что 10мб будет в любом случае

jo_b1ack ★★★★★
()
Последнее исправление: jo_b1ack (всего исправлений: 1)
Ответ на: комментарий от next_time

Америку пытались мне открыть?

Кто пытался?

UVV ★★★★★
()
Ответ на: комментарий от UVV

я вам больше того скажу, вы в качестве более приближённого к жизни примера могли бы лоадинг файла, скажем, .jpg целиком в оперативу написать. да, действительно, потребление памяти вырастет, только её не приложение сожрёт, а картинка.

так и у вас тут. в примере — утечка памяти, на практике же динамически выделяемая память будет (в теории, должна) использоваться под полезные пользовательские данные.

next_time ★★★★★
() автор топика
Последнее исправление: next_time (всего исправлений: 1)
Ответ на: комментарий от EXL

В Qt4 можно было уменьшить размер библиотеки ещё больше с помощью QConfig...

ТС, обрати внимание на цитируемый пост, в нём тебе дали правильный ответ. В Qt5 тот же qtconfig: git://gitorious.org/qt/qttools/src/qtconfig.

Dendy ★★★★★
()
Ответ на: комментарий от next_time

Где, где та магическая формула, показывающая зависимость размера бинарника от занимаемого им места в памяти?

UVV ★★★★★
()
Ответ на: комментарий от UVV

в теории, размер бинарника в оперативе не может быть меньше, чем тот, что на харде висит. на практике, не совсем так. но приближённо, можно так и считать.

next_time ★★★★★
() автор топика

Кстати, ты обладатель коммерческой лицензии, раз уж мы тут про статичную линковку заговорили?

UVV ★★★★★
()
Ответ на: комментарий от UVV

да, за счёт того, что он динамику потом всё равно динамически подключит

next_time ★★★★★
() автор топика
Ответ на: комментарий от UVV

не совсем так: месье практику придумали техзадание, которое привело к проблеме, которую вполне прозаически пришлось решать.

next_time ★★★★★
() автор топика

Даже на офисном тазике с 1Г оперативы, 6М составит 0,6%. Разве это дофига?

AF ★★★
()
Ответ на: комментарий от Dendy

ТС, обрати внимание на цитируемый пост, в нём тебе дали правильный ответ. В Qt5 тот же qtconfig

И он реально работает? Qt не придётся патчить как в 4-ке из-за ошибок компиляции?

alex_custov ★★★★★
()
Последнее исправление: alex_custov (всего исправлений: 1)
Ответ на: комментарий от AF

для простого консольного приложения — да!

next_time ★★★★★
() автор топика
Ответ на: комментарий от alex_custov

И он реально работает? Qt не придётся патчить как в 4-ке из-за ошибок компиляции?

Давно пробовал, может отдельные фичи и вызовут ошибки, но большинство можно было легко отрезать без последствий. Вот пусть ТС нам и расскажет. Qt4 я даже с GUI обрезал суммарно до 1 Мб.

Dendy ★★★★★
()
Ответ на: комментарий от next_time

размер бинарника в оперативе не может быть меньше, чем тот, что на харде висит

Секции кода свопнули. Сколько от бинаря в оперативе?

nanoolinux ★★★★
()
Ответ на: комментарий от next_time

В тех задании написано было, что тебе нужно работать с последовательным портом черзе Qt? Тебе уже намекнули выше, что для ком-порта используется 10 строк кода и Qt там совсем не нужен.

UVV ★★★★★
()
Ответ на: комментарий от UVV

В тех задании написано было, что тебе нужно работать с последовательным портом черзе Qt?

нет

Тебе уже намекнули выше, что для ком-порта используется 10 строк кода и Qt там совсем не нужен.

вероятно, но я предпочёл использовать проверенную либу, чем нечто самописное, кроме того, мне ещё нужна была работа со строками. не STL же или boost для этого использовать.

next_time ★★★★★
() автор топика
Ответ на: комментарий от UVV

Не помню такого, но дело было давно, ещё с Qt 4.4 кажется.

Dendy ★★★★★
()
Ответ на: комментарий от next_time

свопнуть вообще что угодно можно

fail. man mlock. про куски ядра можно даже не упоминать походу, поскольку ты даже не знаешь, что это такое например.

nanoolinux ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.