变量重定义
程序员文章站
2022-06-24 14:32:38
出现变量重定义的情况? 源文件与include的文件定义了同一个变量 main.c a.c 1 int a = 200; 编译命令: gcc main.c -o main 编译报错: 链接的两个文件都定义了同一个变量 main.c a.c 编译命令: gcc -c main.c -o main.o ......
出现变量重定义的情况?
源文件与include的文件定义了同一个变量
main.c
1 #include <stdio.h> 2 #include "a.c" 3 4 int a = 100; 5 6 int main() { 7 8 return 0; 9 }
a.c
1 int a = 200;
编译命令:
gcc main.c -o main
编译报错:
链接的两个文件都定义了同一个变量
main.c
1 #include <stdio.h> 2 3 int a = 100; 4 5 int main() { 6 7 return 0; 8 }
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
最后一步链接会报错: