В чем разница между объектным файлом .o и библиотечным файлом .so? - PullRequest
12 голосов
/ 13 июля 2009

Как видно из заголовка, в чем разница между «файлом объекта программы» (расширение .o) и «файлом библиотеки» (расширение .so)

1 Ответ

8 голосов
/ 13 июля 2009

Что ж, это было какое-то время, так что прости меня, если я совершенно не прав, но это, по сути, означало бы, что код внутри .so можно перемещать.

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

Это называется статическим связыванием (.o) против динамического связывания (.so)

См. IBM Developer Works или Университет Калгари или IECC для получения дополнительной информации

Надеюсь, что это отвечает на ваши вопросы (и я надеюсь, что мои объяснения верны!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...