当我编译像SFML这样的库时,我在做什么?

时间:2013-12-23 00:23:49

标签: c++ compiler-construction linker sfml

我一直在努力让SFML 2.1在我的笔记本电脑上运行我的linux mint 15,那时我发现我应该从源代码编译它。所以在完成了使用cmake编译SFML的教程之后,我终于能够得到一些代码了。但现在我很好奇......我刚刚做了什么?

当我想到编译时,我想到将c ++代码编译成目标文件,然后将目标文件链接到可执行文件中。但我真的不明白编译像SFML这样的东西意味着什么。当我想到一个库时,我想到了一堆函数和对象,这些函数和对象通过头文件和另一个程序员创建的源文件提供给我,不一定需要编译。我对编译和链接过程的了解相当有限,所以这可能是我目前最大的问题。

那么“编译”库是什么意思?

编辑:在查看此特定问题后:How does the compilation/linking process work? 我注意到两点信息可能会进一步改进我的问题。

  

链接:链接器获取编译器生成的目标文件   并生成或可执行文件。

  

链接器产生最终的编译输出   编译器生成的目标文件。 此输出可以是共享的   (或动态)库(虽然名称相似,但他们还没有   与前面提到的静态库很相似)或者   可执行文件。

所以也许我真正的问题是编译动态库意味着什么?这样做我完成了什么?

0 个答案:

没有答案