做查询新生寝室的网站,WordPress都可以做什么,北京网上网页设计培训,app开发定制文章目录 测试代码 测试代码
在C语言中调用C类#xff0c;需要遵循几个步骤#xff1a;
在C代码中#xff0c;确保C类的函数是extern “C”#xff0c;这样可以防止名称修饰#xff08;name mangling#xff09;。
使用头文件声明C类的公共接口#xff0c;并且为这个… 文章目录 测试代码 测试代码
在C语言中调用C类需要遵循几个步骤
在C代码中确保C类的函数是extern “C”这样可以防止名称修饰name mangling。
使用头文件声明C类的公共接口并且为这个头文件提供C语言兼容的接口。
编译C代码为对象文件或库。
在C语言代码中包含这个头文件并且链接C库或对象文件。
c MyClass.h
#ifdef __cplusplus
extern C {
#endifclass MyClass {
public:MyClass();void doSomething();
};#ifdef __cplusplus
}
#endifMyClass.cpp
#include MyClass.h
#include iostreamMyClass::MyClass() {// 构造函数实现
}void MyClass::doSomething() {// 方法实现std::cout Doing something in C class std::endl;
}C调用代码
#include MyClass.hint main() {// 创建C类的实例MyClass myObj;// 调用C类的方法myObj.doSomething();return 0;
}编译
g -c MyClass.cpp -o MyClass.o
gcc -c main.c -o main.o
g -shared -o libMyClass.so MyClass.o
gcc main.o -L. -lMyClass -o main