2010-12-01 58 views
2

我必须调用C++函数中声明的c函数。我必须为此设置什么指令/属性/配置?从C++调用lib函数中的c函数

+2

使用`为extern“C”` – valdo 2010-12-01 12:41:22

+0

为什么不把那作为一个答案,而不是评论? – 2010-12-01 12:56:07

回答

5

你有库的头文件吗?如果是的话,它应该有

extern "C" { 
blah blah 
} 

东西在它允许它被C程序使用。如果没有,那么你可以在你自己的代码中将头部的include语句放在头部中。例如。

extern "C" { 
    #include "imported_c_library.h" 
} 
2

确保您在函数声明之前放置了extern“C”,如果它不在页眉中。

1

如果你正在写的头文件自己,它往往是很好的做这样的事情

#ifdef __cplusplus 
extern "C" { 
#endif 

... 

#ifdef __cplusplus 
} 
#endif 

使这个被你的C编译器忽略,但用C++一个回升。顺便说一下,为什么你需要一个很好的讨论,看看

Why do we need extern "C"{ #include <foo.h> } in C++?