.o 目标文件和 .so 库文件有什么区别?

发布于 2024-07-26 07:41:18 字数 50 浏览 10 评论 0原文

正如标题所说,“程序目标文件”(.o 扩展名)和“库文件”(.so 扩展名)有什么区别

Like the title says, what is the difference between a "program object file" (.o extension) and a "library file" (.so extension)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凹づ凸ル 2024-08-02 07:41:18

好吧,已经有一段时间了,如果我完全错了,请原谅我,但这本质上意味着 .so 中的代码可以重新定位。

.so 本质上是一个 DLL,可以被许多应用程序使用,但只能加载到内存中一次。 .o 必须链接到应用程序才能使代码功能可用。

这称为静态链接 (.o) 与动态链接 (.so)

请参阅:IBM Developer作品卡尔加里大学IECC 了解更多信息

希望这能回答您的问题(并且希望我的解释是正确的!)

Well, its been a while so forgive me if I am totally wrong but it would essentially mean that the code inside the .so can be relocatable.

The .so is essentially a DLL that can be used by many applications but only loaded once into memory. The .o has to be linked into an application to have the code functionality made available.

This is called static linking (.o) vs dynamic linking (.so)

See: IBM Developer Works or Uni of Calgary or IECC for further information

Hope this answers your questions (and I hope my explaination is correct!)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文