我正在查看ncmpcpp的源代码,我看到了这个。
#include <mpd/client.h>
该文件内部是ncmpcpp使用的函数。但那些只是标题。 cpp文件也不必存在于某个地方吗?我在同一目录中找不到它们。他们在哪儿?
此外,当包含的内容被&lt;和&gt;,我怎么知道在哪里看?
答案 0 :(得分:4)
如果是第三方库,很可能不会包含源代码。也不需要。标题中声明的所有符号(意图使用)应该导出到标题附带的.lib
文件中。
除非你有template
s,这可能是内联的。
如果您想自己编译代码,则只需要cpp
个文件,或者更常见的是实现文件。你没有。您可以使用只包含标题和二进制文件的模块。
当然,我想到了开源项目的例子,其中通常包含所有文件,但如果它是商业产品,为什么要发布源代码呢?什么阻止任何竞争对手复制并以新名称转售?
没有标准规则可以说明查找由<>
或""
分隔的标头的位置,但普遍的共识是<>
将用于系统标头(如string
或iostream
)和""
表示自己的标题(myclass.h
)。它只是告诉编译器首先查找。
答案 1 :(得分:2)