为什么一个变量的多个定义没有错误
我在两个不同的c文件中定义了相同的全局变量为什么编译没有得到任何错误如果变量在头文件中仅声明,而在多个C文件中分别定义,且未使用static修饰,则会导致重复定义。但若编译器未启用严格检查,可能不会立即报错。 可能链接脚本或内存布局问题。 在头文件中用extern声明,在一个C文件中定义。 检查编译日志。 因为头文件中直接定义变量而非extern声明,导致多个C文件包含时重复定义。 在头文件中用extern声明变量。 在唯一一个C文件中定义变量。启用编译器严格模式 C 语言标准允许在多个文件中对同一全局变量进行重复定义
页:
[1]