就像标题所说,"程序对象文件"(.o扩展名)和"库文件"(.so扩展名)之间有什么区别?
就像标题所说,"程序对象文件"(.o扩展名)和"库文件"(.so扩展名)之间有什么区别?
很久没有接触了,如果我理解错误请原谅,基本上这意味着.so内部的代码可以被重定位。
.so本质上是一个DLL,可以被许多应用程序使用,但只加载一次到内存中。.o必须链接到应用程序中,才能使代码功能可用。
这称为静态链接(.o)与动态链接(.so)。
有关详细信息,请参见:IBM Developer Works或Uni of Calgary或IECC。
希望这回答了您的问题(也希望我的解释是正确的!)