我有一个包含boost库的头文件,我需要将这个头文件包含在用C编写的源代码中。是否可以这样做?
谢谢!
答案 0 :(得分:4)
不,您通常不能在C程序中包含C ++标头。您需要将C程序可能使用的声明分离到单独的标头中,并确保它们在C ++中具有正确的语言链接:
#ifdef __cplusplus
extern "C" {
#endif
// C-compatible declarations here
#ifdef __cplusplus
}
#endif
答案 1 :(得分:0)
使用适配器模式(http://en.wikipedia.org/wiki/Adapter_pattern) 这篇文章已经讨论了类似的问题:Using C++ library in C code)
答案 2 :(得分:0)