函数的声明
函数名称,类型,参数列表
报undeclared错误
计算机只考虑如何使用函数
函数定义
具体实现的逻辑
报undefined错误
计算机考虑函数如何实现
当重复定义,报duplicated错误,因为计算机不知道你要用哪个定义。
.c为源文件,先经过预编译,将头文件展开生成相应代码,接下来开始编译,生成对象文件.o,然后对所有对象文件链接打包,生成可执行程序.out
函数未声明错误发生在编译阶段,此时进行语法检测,而函数未定义错误发生在链接阶段。
仅生成对象文件:
gcc -c xxx.c
文件列表中将多一个.o对象文件
生成可执行程序:
gcc xxx.o