C++ 如何包装C++;函数,该函数以C或Objective-C++;
我正在尝试在Cocoa框架中为我的应用程序构建一个查看器。代码的核心是用C++编写的,为了在Cocoa窗口中渲染,我必须将C++代码包装在Swift中 我打算通过在C中包装C++代码,然后在Swift中调用C函数来实现这一点。然而,挑战在于我必须包装一个返回类对象的函数 我的函数C++ 如何包装C++;函数,该函数以C或Objective-C++;,c++,c,wrapper,opencascade,C++,C,Wrapper,Opencascade,我正在尝试在Cocoa框架中为我的应用程序构建一个查看器。代码的核心是用C++编写的,为了在Cocoa窗口中渲染,我必须将C++代码包装在Swift中 我打算通过在C中包装C++代码,然后在Swift中调用C函数来实现这一点。然而,挑战在于我必须包装一个返回类对象的函数 我的函数makeCurve()定义为: // makeCurve.cpp Geom_BSplineCurve makeCurve() { std::string fileName = "SRCROOT/resou
makeCurve()
定义为:
// makeCurve.cpp
Geom_BSplineCurve makeCurve()
{
std::string fileName = "SRCROOT/resources/NACA63015A_processed.dat";
Standard_Integer num_coordinates = 51; // Number of coordinates
Hydrofoil f(fileName, num_coordinates, 5, CLOCKWISE_LE);
return f.getCurve();
}
其中Geom_BSplineCurve
是OpenCascade库中定义的类对象。我不想修改库
如何继续用C包装上述函数?您可以在堆上分配对象,并重新将指针指向它。这基本上是您唯一的选择。您可以在堆上分配对象,并重新将指针指向它。这基本上是你唯一的选择。