| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программное обеспечение под *NIX системы > В чем различие static и shared? |
| Автор: Mixasik 23.2.2007, 20:15 |
| Вот думал скачать оперу есть shared и static версии, а в чем разница? |
| Автор: 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 |
Да он побольше, но раз проще для начала скачаю его... |
| Автор: Kagor 23.2.2007, 22:04 | ||
|
| Автор: 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 | ||
принципиально медленнее ? |
| Автор: VectorMan 1.3.2007, 17:44 |
| Принципиально, потому что для вызова фукнции или обращения к глобальной переменной нужно вычисление адреса, вместо использования константного адреса в случае статической компоновки, разница примерно такая же, как при вызове обычного метода объекта и вызове виртуального метода. Замедление незначительно, но оно есть. |