#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