1 编译阶段,执行的是对单个文件的转换,从源代码转换成二进制文件。
2 链接阶段,将每个源文件转成的二进制文件,及相关的系统库文件共同打包生成可执行文件。
3 从定义上可以看出,链接阶段,出现错误有两种可能:
1) 函数中引用了不存在的函数。
2) 编译环境有问题,导致ld出错。
首先编译已经报错: 有一个找不到的符号链接_max
max这个函数你只声明了但没有定义,也就是编译器只知道有这么个函数,但是函数是做什么的,不知道。
如果你是新手,咨询一下其他同学或者老师,这个问题实在不应该发出来,自学才是最好的老师。
#include
int max(int a,int b);
int main(void)
{
int a,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("max is %d\n",c);
return 0;
}
int max(int a,int b)
{
return a>b?a:b;
}
max函数未定义