在c中包含c++库

Including c++ libraries in C

本文关键字:c++ 包含      更新时间:2023-10-16

我有一个头文件,包括boost库,我需要包括这个头文件在c写的源代码。

谢谢!

不,通常不能在C程序中包含c++头文件。您需要将C程序可能使用的声明分离到单独的头文件中,并确保它们在c++中具有正确的语言链接:

#ifdef __cplusplus
extern "C" {
#endif
// C-compatible declarations here
#ifdef __cplusplus
}
#endif

使用适配器模式(http://en.wikipedia.org/wiki/Adapter_pattern)这篇文章已经讨论了类似的问题:在C代码中使用c++库)

C中不能使用Boost库

但是你可以找到很多替代方法,比如GLIB和apr。