Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение под *NIX системы > В чем различие static и shared?


Автор: Mixasik 23.2.2007, 20:15
Вот думал скачать оперу есть shared  и static версии, а в чем разница? smile 

Автор: ZeeLax 23.2.2007, 20:18
shared - это когда используются библиотеки, имеющиеся в системе. static - когда они "вкомпиливаются" внутрь бинарника. Это если очень-очень кратко.

Автор: Mixasik 23.2.2007, 20:31
А если немного поподробней? Что лучше скачать новичку, что проще устанавливать? Как я понял легче устанавливать shared?

Автор: GrayCardinal 23.2.2007, 20:41
Mixasik, 
Проще как раз static. Там все должно быть уже... В shared, возможно, придется доп. лайбы скачивать. Одно но - static обычно больше на порядок, и, возможно, тормознутее...........

Автор: Mixasik 23.2.2007, 21:00
Цитата(GrayCardinal @  23.2.2007,  20:41 Найти цитируемый пост)
Проще как раз static.

Да он побольше, но раз проще для начала скачаю его...

Автор: Kagor 23.2.2007, 22:04
Цитата(GrayCardinal @  23.2.2007,  21:41 Найти цитируемый пост)
Одно но - static обычно больше на порядок, и, возможно, тормознутее........... 
С чего ему быть тормазнутие???

Автор: GrayCardinal 24.2.2007, 05:35
Kagor, 
Цитата

С чего ему быть тормазнутие. 

А я знаю ? Это из опыта уже ...

Автор: bilbobagginz 24.2.2007, 10:37
Цитата

С чего ему быть тормазнутие???

Дело это конечно не верное, т.е. не всегда имеет место быть, но если и да, то с того, что если забыли в динамическом экзешнике собрать без -g, то тормозит только приложение, а либы - нет. а в статическом, если собирали с -g, файл пухнет, и иногда в нем всякие ненужные функции (подключенные через #ifdef DEBUG ... #endif) бегают, поэтому и замедление.
Если же таких ошибок упаковщик/сборщик не допускает, то разница только в скорости загрузки:
статика грузится медленнее.

Автор: VectorMan 25.2.2007, 07:38
Position independent code медленее обычного

Автор: bilbobagginz 1.3.2007, 11:50
Цитата

Position independent code медленее обычного 

принципиально медленнее ?



Автор: VectorMan 1.3.2007, 17:44
Принципиально, потому что для вызова фукнции или обращения к глобальной переменной нужно вычисление адреса, вместо использования константного адреса в случае статической компоновки, разница примерно такая же, как при вызове обычного метода объекта и вызове виртуального метода.
Замедление незначительно, но оно есть.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)