以下两段代码,为什么gcc在去掉extern声明后仍然可以正常编译和运行(g++没通过),这是C允许的语法还是gcc对编译过程有自己特殊的处理方式?
main.c和function.c处于同一文件下
main.c
#include<stdio.h>
//extern void myFunction();
int main(){
printf("this is a test\n");
myFunction();
return 0;
}
function.c
#include<stdio.h>
void myFunction(){
printf("hahah");
}