出现变量重定义的情况?
源文件与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
最后一步链接会报错:
出现变量重定义的情况?
源文件与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
最后一步链接会报错: