我在1.c和2.c中都定义了 int a。为什么编译的时候没有出现重定义的错误呢?
int a;
int main()
{
return 0;
}
int a = 2;
gcc -std=c99 -Wall 1.c 2.c 完全没问题啊。
而且我分开生成目标文件后在链接也没问题
gcc -std=c99 -Wall -c 1.c
gcc -std=c99 -Wall -c 2.c
gcc -std=c99 -Wall 1.o 2.o
也完全没问题啊
这不是重复定义吗?
我以前遇到的符号重复定义错误是怎么回事?