将共享库转换为静态库?

Ste*_*ate 27 c c++

是否可以将共享库(someLib.so)转换为静态库?(someLib.a)

APr*_*mer 15

不.(至少对于ELF共享库).共享库是一个简单的对象(因此代表共享对象).静态库是对象的集合.在构建共享库的过程中,您组合了多个对象,并且丢失了检索它们所需的一些信息.

  • 只是为了兴趣 - 需要信息丢失?那些"内部对象"仍然是"可以调用" - 并且给出相应的呼叫详细信息,缺少什么? (4认同)

Alo*_*ave 13

如果您有共享库的源代码,则为YES.

如果您没有共享库的源代码,请单击.

  • 你能解释一下原因,至少是示意性的吗? (10认同)
  • 哇,真是一个很棒且内容丰富的答案。难以置信 (3认同)
  • 如果你有源代码,为什么还需要共享库? (2认同)