static与extern的区别是:static是内部链接,extern是外部链接,static定义的变量只能在此变量的文件中使用,而extern则将它所声明的变量链接到其他文件,以便于链接器查找到此变量的定义部分。 和extern相似的是,未命名的命名空间也是外部链接,在声明未命名空间的时候,系统为每个未命名空间分配了一个名字,这样就不会与其他文...
static修饰的全局是内部链接性。 内部链接性的在编译单元间不共享,编译单元你理解成源文件也马马虎虎。 extern extern修饰的全局是共享性的 common.h #pragmaonce#ifndef_TOOL_H_#define_TOOL_H_//int a在这里定义只会重定义//int a = 1;staticintb=3;externintc;//define ABC是不分配内存地址的#defineABC...