美文网首页
extern 标识符的作用

extern 标识符的作用

作者: 格林童话ol | 来源:发表于2022-05-07 16:18 被阅读0次

extern 标识符的作用

1.在C语言当中,extern符号的作用主要是声明变量和函数

比如

    在A.c文件中定义一个全局变量

    int ext_val;

    需要在B.c中使用这变量

    int main()

    {

        int val = ext_val;

    }

    如果此时编译它们的话,由于编译过程是一个一个文件进行编译,编译B.c文件时,并没有ext_val变量,因此编译会报错。

此时就由extern派上用场了

 在B.c中增加一句extern int ext_val;告诉编译器这个变量是在其他文件定义,编译可以正常通过。这其实是一句声明语句,声明的ext_val不分配内存,不占用内存空间。

extern int ext_val;

    int main()

    {

        int val = ext_val;

    }

2.在C++中,会使用extern "C"来告诉g++编译器按照c语言的规则编译这段代码。

主要原因在于C++中为实现静态多态,编译生成的函数符合是和参数关联的,例如

int extCal(int a, int b)  

在C++中编译结果是_extCal_int_int,即函数和参数类型共同组成函数符号

在C中编译结果是_extCal,函数不和参数类型关联

两者编译规则不同

extern "C"

{

    .......

}

相关文章

  • extern 标识符的作用

    extern 标识符的作用 1.在C语言当中,extern符号的作用主要是声明变量和函数 比如 在A.c文件中...

  • 面试题之关键字

    C语言中extern 的作用,extern “c”的作用? ①extern 可以置于变量或者函数前,以标示变量或函...

  • extern,static,头文件

    basic.cpp main.cpp 1.extern extern关键字表示这个标识符具有External Li...

  • extern的作用

    extern:表示变量或者函数的定义可能在别的文件中,提示编译器遇到此变量或者函数时,在别的文件里寻找其定义。 例...

  • C和C++混合编程

    extern "C"的作用 extern "C"的真实目的是实现类C和C++的混合编程。extern “C”是由C...

  • iOS - extern作用

    extern用于变量的声明,告诉编译器:已经存在一个全局变量,但是不在当前的编译单元内,需要连接的时候在其他编译单...

  • IOS:static和extern的使用

    先上代码: 输出结果: 一、extern的作用 extern:引入全局变量,本文件中没有就从整个项目中引入,如果整...

  • C++调用C语言代码:extern "C"

    extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。 加上extern "C"修饰后的...

  • 【转】extern "C"的主要作用

    extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示...

  • 宏的##和#作用

    在宏里面, ##的作用:连接2个标识符 在宏里面, #的作用:给右边的标识符加上双引号""

网友评论

      本文标题:extern 标识符的作用

      本文链接:https://www.haomeiwen.com/subject/enrxurtx.html