如何在C ++框架中使用C动态库?

时间:2015-04-08 00:38:38

标签: c++ c redis dynamic-library cinder

我试图在Cinder框架中使用C Redis客户端库。我不确定在哪里放置外部" C"声明或即使我正确地说它仍然有效。请帮忙。

2 个答案:

答案 0 :(得分:2)

首先,将您的C ++代码保存在.cpp或.cc文件中,以便它编译为C ++代码并将您的C代码保存在.c文件中,以便它们可以编译为C代码。

接下来,在引用.c文件中的代码的.h文件中,添加:

#ifdef __cplusplus
extern "C" {
#endif

   void sharedFunction();

#ifdef __cplusplus
}
#endif

基本上你所做的就是说..如果C ++正在使用这些函数,那么在C代码中找到它们。如果C正在使用这些功能,请正常使用它们。

答案 1 :(得分:-2)

extern“C”在全局范围内添加。