黑马程序员技术交流社区
标题:
extern修饰变量有什么用?
[打印本页]
作者:
你好再见
时间:
2015-8-1 22:43
标题:
extern修饰变量有什么用?
只是一个修饰会对结果产生什么影响?
作者:
魏武
时间:
2015-8-1 22:51
extern与"C"一起连用时,如: extern "C" void fun(int a, int b); 则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,
当extern不与"C"在一起修饰变量或函数时,如在头文件中: extern int g_Int; 它的作用就是声明函数或全局变量的作用范围的关键字,其声明的函数和变量可以在本模块或其他模块中使用,记住它是一个声明不是定义!也就是说B模块(编译单元)要是引用模块(编译单元)A中定义的全局变量或函数时,它只要包含A模块的头文件即可, 在编译阶段,模块B虽然找不到该函数或变量,但它不会报错,它会在连接时从模块A生成的目标代码中找到此函数。
作者:
刘唐飞
时间:
2015-8-2 00:29
表示这个变量在其他文件中也可以使用
作者:
18910718368
时间:
2015-8-2 00:34
貌似是本文件修饰和非本文件修饰的引用区别
作者:
Anne_lov
时间:
2015-8-2 08:58
我觉得好像是能扩大文件的引用范围。
作者:
花漾
时间:
2015-8-2 14:27
用于全局的吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2