我仔细阅读了可能的复本,但没有一个答案能让我理解.
tl;dr: How are source and header files related in 100? Do projects sort out declaration/definition dependencies implicitly at build time?
我试图理解编译器understands如何处理.c
和.h
文件之间的关系.
鉴于这些文件:
header.h:
int returnSeven(void);
source.c:
int returnSeven(void){
return 7;
}
main.c:
#include <stdio.h>
#include <stdlib.h>
#include "header.h"
int main(void){
printf("%d", returnSeven());
return 0;
}
这乱七八糟的事情会发生吗?我目前在NetBeans 7.0年和Cygwin的gcc年一起完成我的工作,Cygwin自动化了大部分构建任务.当一个项目被编译时,所涉及的项目文件会根据header.h
中的声明来整理这source.c
个隐含的包含吗?