美文网首页
extern "C"

extern "C"

作者: labi3285 | 来源:发表于2017-09-16 09:15 被阅读12次

    extern "C"主要用在c++调用c编写的函数或者相关代码时使用,因为c和c++的函数、变量结构类似,但是编译方式完全不同,这种写法指定c部分的代码按照c的编译方式去处理。

    #ifndef CPP_HEADER
    #define CPP_HEADER
    extern "C" void print(int i);
    #endif CPP_HEADER
    
    #ifndef SOME_HEADER_INCLUDED
    #define SOME_HEADER_INCLUDED
     
    #ifdef __cplusplus
    extern "C" {
    #endif /* __cplusplus */
    
    /*
     * 这里的代码将按照c的编译方式处理。但是在语法上,还是遵循当前语言环境。
     */
     
    #ifdef __cplusplus
    }
    #endif /* __cplusplus */
     
    #endif /* SOME_HEADER_INCLUDED */
    

    extern

    file1.c:

    int a = 1;
    

    file2.c:

    extern int a;
    

    引申: static修饰的变量,只能在当前文件有效。

    "C"

    规定的写法,表示的是遵循c语言编译连接规约的语言(不一定是c语言)。

    相关文章

      网友评论

          本文标题:extern "C"

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