我知道C中的全局变量有时会有extern关键字.什么是extern变量?宣言是什么样的?它的范围是什么?
这与跨源文件共享变量有关,但这是如何工作的?我在哪里用extern?
我有一个包含100多个全局变量的包含文件.它正在库中使用,但是我链接lib的一些程序也需要访问全局变量.
它的构建方式:
// In one library .c file
#define Extern
// In the programs that use the globals
#define Extern extern
// In the .h file
Extern int a,b,c;
Run Code Online (Sandbox Code Playgroud)
我很难理解为什么原始程序员这样做,所以我删除了定义Extern的东西.现在,我想我了解TU与计算器的帮助的事情: 1, 2, 3.
现在我明白我应该在库中的一个.c文件中定义全局变量,并在.h文件中使用extern.问题是我不想重复代码.
我应该回到那个#define外部伏都教吗?
而不是做
#include "MyClass.cpp"
Run Code Online (Sandbox Code Playgroud)
我想要做
#include "MyClass.h"
Run Code Online (Sandbox Code Playgroud)
我在网上看到,不这样做被认为是不好的做法.