c调用c++函数
时间: 2023-08-18 21:10:31 浏览: 114
c调用C++函数
4星 · 用户满意度95%
在C语言中调用C++函数,需要注意以下几点:
1. C++函数的名称在编译时会进行“名称修饰”(name mangling)处理,因此需要使用 extern "C" 修饰函数声明,以防止函数名称被修改。
2. C++函数在调用时需要先创建一个 C++ 对象,再调用该对象的方法,或者将函数声明为 static 类型。
下面是一个例子:
C++代码:
```
#include <iostream>
class MyClass {
public:
void sayHello() {
std::cout << "Hello, world!" << std::endl;
}
};
extern "C" {
void callMyClass() {
MyClass obj;
obj.sayHello();
}
}
```
C代码:
```
extern void callMyClass();
int main() {
callMyClass();
return 0;
}
```
在 C++ 中,我们先定义了 MyClass 类,并在其中定义了 sayHello() 方法。在外部使用 extern "C" 修饰了 callMyClass() 函数,该函数调用 MyClass 的 sayHello() 方法。在 C 代码中,我们通过 extern 关键字引入了 callMyClass() 函数,并在 main 函数中调用它。
需要注意的是,以上示例代码只是演示了如何在 C 代码中调用 C++ 函数的基本方法,实际使用时需要根据具体情况进行修改。
阅读全文