专栏中心

EEPW首页 > 专栏 > extern关键字(ZT)

extern关键字(ZT)

发布人:beibeidong 时间:2008-06-19 来源:工程师 发布文章
 

 

extern关键字的作用是声明变量和函数为外部链接,即该变量或函数名在其它文件中可见。用其声明的变量或函数应该在别的文件或同一文件的其它地方定义。

例如语句:extern int a;
    仅仅是一个变量的声明,其并不是在定义变量a,并未为a分配内存空间。变量a在所有模块中作为一种全局变量只能被定义一次,否则会出现连接错误。
    通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可。这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错;它会在连接阶段中从模块A编译生成的目标代码中找到此函数。
如果一个工程包含如下两个文件:
1.cpp如下:                           2.cpp如下:
int x,y;                               extern int x,y;
extern void PrintHello();              void PrintHello()
void Func1()                           {
{                                          cout<<"hello!"<<endl; 
    x="123";                             }
}                                      void Func2()
int main()                             {
{                                          y="x"*10;
    PrintHello();                      }   
    ......                             
}
 
   在2.cpp中使用extern int x,y;只是声明了x,y这两个变量,它告诉编译器其后的变量已经在别的文件中说明,不再为它们分配内存。当两个文件都编译成为.obj后,连接时所有的外部变量和函数都得到统一,可以共享各自定义的全局变量和函数。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

Arteris推出全新Magillem Packaging解决方案应对IP模块与芯粒的硅设计复用挑战

基于Arduino的双模科学计算器设计

村田顽童爬坡

视频 2010-03-16

MSP430 汇编程序设计 (三)

视频 2010-03-16

使用NE12定时器和LDR的555V自动锚灯电路

带截止定时器的自动夜灯设计

西班牙停电的后果仍在继续

MSP430 汇编程序设计 (一)

视频 2010-03-16

村田顽童演示控制姿势行走

视频 2010-03-16

东芝推出智能电机控制驱动IC“SmartMCD™”系列的第二款新品

PHILIPS LPC9xx微控器的I2C应用

MSP430 汇编程序设计 (二)

视频 2010-03-16

DIY带电路和PCB的开源GSM+GPS模块

工业战略推动英国科技发展

PHILIPS LPC9xx UART 实例程序

PHILIPS LPC9xx Measure Datalogger 实...

罗姆的SiC MOSFET应用于丰田全新纯电车型“bZ5”

PHILIPS LPC9xx Oscillator Options 实...

使用Arduino和EMG的错误姿势和肌肉拉伤监测器,带实时蓝牙警报

更多 培训课堂
更多 焦点
更多 视频

技术专区