从DLL调用函数,该DLL是从C用C ++开发的

Sy Yuan Li |

dll中的函数具有以下原型

void Foo(int arg1, int& arg2);

问题是,如何在C中声明函数原型?

声明合法吗?

void Foo(int, int*);
讲故事的人-Unslander Monica

声明合法吗?

是的,但是没有声明相同的功能。如果需要C API,则不能使用引用。坚持使用指针,并确保该函数具有C链接:

extern "C" void Foo(int, int*) {
   // Function body
}

如果您不能修改DLL代码,则需要为其编写一个C ++包装程序,以公开适当的C API。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章