相关疑难解决方法(0)

为面向对象的C++代码开发C包装API

我正在寻找开发一组C API,它们将围绕我们现有的C++ API来访问我们的核心逻辑(用面向对象的C++编写).这基本上是一个粘合API,允许我们的C++逻辑可以被其他语言使用.什么是一些很好的教程,书籍或最佳实践,介绍了围绕面向对象的C++包装C所涉及的概念?

c c++ wrapper

75
推荐指数
4
解决办法
4万
查看次数

处理比较:空类与未定义类相比无效*

Microsoft的GDI +定义了许多在内部被视为句柄的空类.例如,(来源GdiPlusGpStubs.h)

//Approach 1

class GpGraphics {};

class GpBrush {};
class GpTexture : public GpBrush {};
class GpSolidFill : public GpBrush {};
class GpLineGradient : public GpBrush {};
class GpPathGradient : public GpBrush {};
class GpHatch : public GpBrush {};

class GpPen {};
class GpCustomLineCap {};
Run Code Online (Sandbox Code Playgroud)

还有其他两种方法来定义句柄.他们是,

//Approach 2
class BOOK;  //no need to define it!
typedef BOOK *PBOOK;
typedef PBOOK HBOOK; //handle to be used internally

//Approach 3
typedef void* PVOID;
typedef PVOID HBOOK; //handle …
Run Code Online (Sandbox Code Playgroud)

c++ handles incomplete-type empty-class

10
推荐指数
1
解决办法
905
查看次数

标签 统计

c++ ×2

c ×1

empty-class ×1

handles ×1

incomplete-type ×1

wrapper ×1