这是我用来从 C 代码调用 C++ 中的非成员函数的方法,它工作正常。
文件.cpp
extern "C" void f(int);
void f(int i){
printf("c++!\n");
}
主程序
#include <stdio.h>
#include <stdlib.h>
void f(int);
int main()
{
printf("Hello world!\n");
f(1);
return 0;
}
壳:
Hello world!
c++!
如何从 C 中调用成员函数?
当您使代码在 C 和 C++ 之间兼容时,该代码必须具有两种语言共有的特性。这意味着,除其他外,代码不得具有类以及特定于 C++ 的其他元素。
如果您需要 C 最终调用 C++ 自己的元素,则需要创建一个 API(在 C++ 中),它封装了 C 无法识别的所有对象逻辑,并允许通过使用简单的函数对其进行操作。
管理字符串的示例。我手头没有 C 编译器,但除了一些小的调整外,我知道它应该可以工作