对于许多问题,答案似乎可以在"标准"中找到.但是,我们在哪里找到它?最好是在线.
谷歌搜索有时会觉得徒劳,尤其是对于C标准,因为他们在编程论坛的大量讨论中被淹没.
要开始这个,因为这些是我现在正在搜索的,那里有很好的在线资源:
我仔细研究了可能的副本,但是没有任何答案在沉没.
tl; dr:源文件和头文件是如何相关的C?项目是否在构建时隐式地整理声明/定义依赖项?
我试图理解编译器如何理解.c和.h文件之间的关系.
鉴于这些文件:
header.h:
int returnSeven(void);
Run Code Online (Sandbox Code Playgroud)
source.c:
int returnSeven(void){
return 7;
}
Run Code Online (Sandbox Code Playgroud)
main.c:
#include <stdio.h>
#include <stdlib.h>
#include "header.h"
int main(void){
printf("%d", returnSeven());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个混乱会编译吗?我目前正在使用Cygwin的gcc在NetBeans 7.0中完成我的工作,它可以自动执行大部分构建任务.编译项目时,涉及的项目文件是否根据声明中的隐含包含?source.cheader.h