静态库如何工作?(C/C++)

Hat*_*ate 7 c c++ static-libraries

我知道如何使用和创建它们,但是我找不到关于它是如何实现的文本,函数调用是如何发生的等等,有人可以帮我提供这些信息吗?因为我想了解它们,但不仅仅知道它是什么以及它是如何工作的

cyc*_*130 12

您可能知道,编译源文件时会得到一个目标文件.根据您的平台,其扩展名可能是.o或.obj或其他任何内容.静态基本上是一个目标文件的集合,有点像.zip文件但可能没有压缩.当尝试生成可执行文件时,链接器尝试解析引用的符号,即定位在哪个目标文件(无论是在库中还是其他文件中)定义它们并将它们链接在一起.因此,静态库还可以包含已定义符号的索引以便于此.确切的实现取决于特定的链接器和库文件格式,但基本架构如上所述.

您可能需要检查维基百科中的斜体关键字或其他更多信息.