我是C++的新手,我正在使用一个包含GUI和人机界面的工业解决方案。该解决方案是用C++开发的,im要求将(用于手势识别)与C++解决方案进行接口。问题是,Hillstar ( GestIC )和所有示例都是用C语言开发的,所以我的问题是如何在GestIC解决方案中实现这些GestIC库。
谢谢。
发布于 2017-02-14 09:20:49
C++通过以下方式声明C函数,从而提供了调用C函数的功能:
extern "C" {
#include "my-C-code.h"
}然后,您可以像从C中调用C函数一样从C++调用C函数,这样可以防止名称损坏C++,否则会导致链接错误。从本质上说,这就是罗尼回想起来的意思,但不那么神秘。正如他还指出的那样,如果C文件已经有了这个语句,就没有必要这样做;通过识别C++编译的预处理器#ifdef语句。此说明符关闭名称损坏,显然只用于函数定义和主体(尽管它不会干扰预处理器指令)。似乎大多数其他C代码都能像在C++中那样工作。通过这个extern包含的一些C头将不会编译--最显著的是那些具有保留C++关键字的名称的函数。
您可以在这里找到更多关于它的信息:“混合C和cpp”-从“我如何在我的C++代码中包含一个非system头文件?”部分。
发布于 2017-02-14 09:07:30
就像其他所有的包含一样。
#include "your library"现在你可以用它了。
https://stackoverflow.com/questions/42221818
复制相似问题