再现低级错误,该打!

    技术2024-06-17  72

    #ifdef __cplusplus

    extern “c" {

    #endif

     

    ...

     

    #ifdef __cplusplus

    }

    #endif

     

     

     

    看着好像没有啥错误,其实应该是extern "C"(大写C),该打!

     

     编译时一直提示错误:

    dlist.h:8: error: language string ‘"c"’ not recognize

     

     

    还发现一个gcc和g++的问题:

    gcc编译.c文件时,按照c编译器编译(简单的函数符号定义)gcc编译.cpp文件时,按照c++编译器编译(生成重载的函数符号定义)

    g++编译.c文件时,按照c++编译器编译(生成重载的函数符号定义)g++编译.cpp文件时,按照c++编译器编译(生成重载的函数符号定义)

     

    只要编译.cpp文件,不管是gcc还是g++,就会定义宏__cplusplus

     

    最新回复(0)