.o 目标文件和 .so 库文件有什么区别?
正如标题所说,“程序目标文件”(.o 扩展名)和“库文件”(.so 扩展名)有什么区别
Like the title says, what is the difference between a "program object file" (.o extension) and a "library file" (.so extension)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,已经有一段时间了,如果我完全错了,请原谅我,但这本质上意味着 .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!)