从c ++调用lib文件中的c函数

时间:2010-12-01 12:38:43

标签: c++ c windows

我必须从c ++调用lib文件中声明的c函数。我必须为此设置哪些指令/属性/配置?

3 个答案:

答案 0 :(得分:5)

你有一个库的头文件吗?如果是这样的话应该

extern "C" {
blah blah
}

其中的内容允许C程序使用它。如果没有,那么你可以把它放在你自己的代码中的头的include语句。 E.g。

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

答案 1 :(得分:2)

确保在声明函数之前将extern“C”放在标题中。

答案 2 :(得分:1)

如果您自己编写头文件,那么做这样的事情通常很好

 #ifdef __cplusplus
 extern "C" {
 #endif

...

 #ifdef __cplusplus
 }
 #endif

这样你的c编译器就会忽略它,但是被c ++编译了。顺便说一下,为了更好地讨论你为什么需要这个,请查看

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