美文网首页
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 标识符的作用

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