出现变量重定义的情况?
源文件与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
最后一步链接会报错:
原文地址:https://www.cnblogs.com/jasonzhi/p/9517006.html
时间: 2024-10-15 18:25:06