【发布时间】:2014-01-28 09:31:30
【问题描述】:
我发现 this very helpful example 关于 MenuLayers,它运行良好。在this line 中说该方法是在另一个文件中定义的。
showDetail(cell_index); // Defined in detailView.c
当我编译和运行时,一切都被正确调用了。但我想知道编译器如何知道何时包含此文件?
我看不到包含指令,所以我的想法是自动包含 src/ 文件夹中的所有文件。但如果是这样,按什么顺序?
【问题讨论】:
-
这与 compiler 或预处理器(处理
#include指令)无关,它是 linker 执行“魔术” ":编译器在目标文件中写入特殊数据,说名称showDetail是一个外部符号,然后当链接器获取所有源文件时,它会在其他目标文件中查找符号showDetail并写入正确的输出到可执行文件。 -
这几乎回答了我的问题。也许您可以将其发布为答案?
标签: c pebble-watch