头文件和库函数的问题
#include<stdio.h>
int main()
{
...
printf();
...
}
此程序头文件中有printf的声明;此程序和库函数文件是不是一起编译的?
不然就找不到该函数的定义,就是函数体。
大家看我说的对不对
[解决办法]
<stdio.h>(头文件)里包含printf的声明,这满足了编译器对出现的“printf”符号,需要有声明的要求,即,可以编译过;
库里面是printf的可执行机器码,由链接器链入最终的可执行文件,这是链接期间的事。
广义我们说的编译,实际上包含了pre-process,compile,assmble,link这几个阶段,区分这几个阶段,以及每个阶段有什么输入,做了什么,有什么输出,可以帮助理解广义的编译。