我用以下代码制作了头文件:
#if C //this code will execute if header file is included in .c file
struct something{
};
#endif
#if CPP //this code will be executed if header file is included in .cpp file
class something {
}
#endif
.c和.cpp文件都可以包含此头文件。我应该怎么做才能执行相应的代码片段?
答案 0 :(得分:8)
这是__cplusplus
宏的作用。
#ifdef __cplusplus
// C++ code
#else
// C code
#endif
答案 1 :(得分:0)
您不需要条件编译:
typedef struct something {
} something ;
将同时在C和C ++中进行编译。