C# · 12月 19, 2021

C出现变量重定义的情况

出现变量重定义的情况?

源文件与include的文件定义了同一个变量

main.c

~~~

include

include “a.c”

int a = 100;

int main() {

return 0;

}

~~~

a.c

~~~

int a = 200;

~~~

编译命令:

gcc main.c -o main

编译报错:

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

main.c

include

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

最后一步链接会报错: