Tag: 嵌入式重

变量重定义,嵌入式c

我正在研究一个嵌入式c项目,并且遇到了全局变量重定义的问题。 我已将函数声明和定义拆分为少量的.h和.c文件。 其中许多函数需要访问global_vars.h中定义的全局变量。 因此,在头文件的开头,#ifndef,#define部分,“global_vars.h”。 如果我不这样做,你可能会想到我得到了一堆未定义的变量错误。 但是,即使global_vars.h具有#ifndef _GLOBAL_VARS_H_ #define … #endif,我也会得到所有全局变量的重定义错误。 我的猜测是,当链接器尝试链接各种目标文件时,由于所有“blah_blah.h”文件中的#include“global_vars.h”,它会看到重新定义。 不过,我的理解是#ifndef …处理这个问题。 我有什么东西可以俯瞰吗? 提前致谢