extern关键字理解:
extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b); 则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的, C++的规则在翻译这个函数名时会按照C++编译器的规则进行转换,不同的编译器采用的方法不一样,因为C++支持函数的重载。
例如:
#ifndef _c_h_
#define _c_h_
#ifdef __cplusplus
extern "C" {
#endif
void C_fun();
#ifdef __cplusplus
}
#endif
#endif
其中__cplusplus是C++编译器的保留宏定义.就是说C++编译器认为这个宏已经定义了。所以关键是extern "C" {} ,extern "C"是告诉C++编译器件括号里的东东是按照C的obj文件格式编译的,要连接的话按照C的命名规则去找。
当extern不与"C"在一起修饰变量或函数时,如在头文件中: extern int g_Int; 它的作用就是声明函数或全局变量的作用范围的关键字,其声明的函数和变量可以在本模块或其他模块中使用,记住它是一个声明不是定义!也就是说B模块(编译单元)要是引用模块(编译单元)A中定义的全局变量或函数时,它只要包含A模块的头文件即可, 在编译阶段,模块B虽然找不到该函数或变量,但它不会报错,它会在连接时从模块A生成的目标代码中找到此函数。
extern声明的变量必须是是全局的变量才可以,并且当用extern声明变量时一般不能赋初值,否则就成了变量的定义了。
相关推荐
### C语言extern关键字的用法 #### 一、引言 在C语言中,`extern`关键字主要用于在多个源文件之间共享变量或函数定义。它允许程序员在一个源文件中声明一个变量或函数,并且该变量或函数的实际定义位于另一个...
C语言extern使用方法总结 在C语言中,extern关键字是一个非常重要的概念,它可以用来声明全局变量和函数,但是很多人却不太了解它的使用方法。在本文中,我们将详细介绍extern关键字的使用方法和注意事项。 声明和...
extern关键字 `extern`是C语言中的一个关键字,主要用于声明一个变量或者函数的定义存在于当前编译单元之外的地方。当我们使用`extern`声明一个变量或函数时,编译器会认为该变量或函数是在其他地方定义的,当前...
C语言extern使用方法总结 C语言中的extern关键字是用来声明全局变量或函数的,然而在实际应用中,extern关键字的使用方法却经常引起混淆,今天我们将对extern关键字的使用方法进行总结。 一、extern关键字的作用 ...
下面将通过实例代码详细介绍extern关键字的使用方法和注意事项。 一、引用同一个文件中的变量 在一个文件中,变量的声明和初始化的顺序对编译器的编译结果有很大的影响。如果变量的声明和初始化放在main函数的后边...
C语言中关键字const、static、volatile、extern、auto、register的用法分析 本文将对C语言中的六个关键字:const、static、volatile、extern、auto、register进行详细的分析和解释。 一、const关键字 Const关键字...
总之,`extern`关键字是C语言中进行跨文件共享变量和函数的重要工具,正确理解和使用它可以优化代码组织,提高程序的可维护性和可扩展性。同时,要避免在头文件中定义变量,以防重复定义的错误,以及利用`static`...
在C#编程语言中,`extern`关键字是一个非常重要的元素,它主要被用来处理与非托管代码(如C或C++库)的交互。本文将深入探讨`extern`关键字的作用,以及如何正确地使用它。 首先,理解`extern`的关键作用至关重要。...
在本篇文章中,我们将深入探讨C语言中的关键字及其用法。C语言作为一种广泛使用的编程语言,在软件开发领域占据着极其重要的地位。理解并熟练掌握C语言的关键字是学习该语言的基础,也是成为一名合格程序员的...
### C语言关键字的用法详解:`static`与`extern` #### `static`关键字的用法 `static`关键字在C语言中具有多种用途,它主要用于控制变量的可见性和生命周期。下面详细介绍`static`的不同使用场景及其作用。 #####...
在C/C++编程语言中,`static`和`extern`关键字扮演着至关重要的角色,它们影响着变量和函数的存储、生命周期以及作用域。下面将详细阐述这两个关键字的使用和意义。 首先,我们来看`static`关键字。在C语言中,`...
综上所述,extern关键字在C/C++程序设计中扮演着重要的角色,它既是一个声明外部变量或函数的工具,也是一把桥梁,帮助C++代码与C语言库进行有效链接。正确和恰当地使用extern关键字可以提升代码的模块化程度,同时...
extern关键字是C语言中的一个重要概念,它可以用于变量和函数的声明,以便在其他文件中寻找定义。然而,在实际编程中,需要严格对应声明时的格式,以避免非法访问和链接错误。同时,extern "C"也解决了C++环境下使用...
在实际应用中,这个程序可能会扩展到更复杂的功能,例如识别嵌套关键字(如在`if`语句中使用`else`),或者分析整个目录下的所有C源文件。通过这样的统计,开发者可以了解自己的编程习惯,找出过度依赖或忽视的...
### C语言中`extern`关键字的使用总结 在C语言编程中,`extern`关键字用于声明一个变量或函数,表明其定义在其他源文件中。本文将深入探讨`extern`的关键作用及其应用场景,并通过示例代码帮助理解。 #### 一、`...
### C 语言关键字用法详解 C 语言作为一门经典的编程语言,在计算机科学领域有着举足轻重的地位。本文将详细介绍 C 语言中的各种关键字及其用法,帮助读者更好地理解和掌握这门语言。 #### 1. 基本数据类型关键字 ...
在C++编程中,`extern`关键字用于声明一个变量或函数是在其他编译单元中定义的。这在处理多文件项目时特别有用,因为...混合使用C和C++时,理解`extern`和`extern "C"`的用法至关重要,以确保编译和链接过程顺利进行。
总而言之,C语言的学习入门重点在于掌握关键字的书写规则、宏定义的正确使用、头文件的包含方法、以及结构体和联合体的定义与使用。通过熟练运用这些基础知识点,初学者可以为后续深入学习C语言打下坚实的基础。