c ++库可以在c中运行吗?

时间:2012-05-18 00:33:12

标签: c

我很抱歉,如果这是一个基本问题(我是c / c ++的新手,但我对如何得到答案感到有点困惑。stxxl是一个c ++库但我的一些代码在c。我知道c ++可以使用c代码(我的c代码嵌入在c ++中),但它是否可以反过来使c运行c ++代码?

他们的网站只提到c ++,但我想知道在c中运行c ++库是否有什么特别的东西可以做?

对不起我读过的书谈到在c ++中使用c代码,我读过的c书是在c ++出来之前编写的。现在我的c函数正在向我的c ++代码发送数据,该代码正在使用c ++库然后发回结果,所以我想我想测试性能,如果我削减中间人(c ++)。

2 个答案:

答案 0 :(得分:1)

这是一个可以帮助您的链接: How to mix C and C++

答案 1 :(得分:1)

只有当C ++库被设计为从C使用时,才可以从C链接到C ++库。具体来说,库提供的函数需要使用extern "C" {}块导出以避免名称损坏,并且接口的设计应该可以从普通的C中使用(即没有类或成员函数,只有无功能的结构和普通函数)。

值得一提的是,您可以使用C ++编译器编译C代码,并且大部分都可以。这使您可以假装您的C代码是C ++代码,并自由地混合通过C ++特定接口提供的功能。