从 C 程序调用 C++ 函数

Calling a C++ function from a C program

提问人:Eduardo 提问时间:2/1/2009 最后编辑:Eduardo 更新时间:2/3/2009 访问量:387

问:

如何从 C 程序调用 C++ 函数,是否可能?,如果可能,我该怎么做?。谢谢。

makefile scons undefined-reference

评论


答:

6赞 Greg Hewgill 2/1/2009 #1

如果您尝试从 C 调用 C++ 函数,那么您可能会遇到名称修改问题。编译器这样做是为了支持 C++ 的函数重载和其他功能。

您可以使用通知 C++ 编译器将从 C 代码调用该函数:extern "C"CMACInit()

extern "C" CMACInit() { ... }

以这种方式声明时,C++ 编译器不会破坏名称,并且会设置所有内容,以便可以从 C 代码调用函数。