出现变量重定义的情况?
源文件与include的文件定义了同一个变量
main.c
~~~

include <stdio.h>

include "a.c"

int a = 100;

int main() {

return 0;

}
~~~
a.c
~~~
int a = 200;
~~~
编译命令:
gcc main.c -o main
编译报错:

链接的两个文件都定义了同一个变量
main.c

include <stdio.h>

int a = 100;

int main() {

return 0;

}
a.c
int a = 200;

编译命令:
gcc -c main.c -o main.o
gcc -c a.c -o a.o
gcc main.o a.o -o main
最后一步链接会报错:

收藏 打印