草庐IT

c++ - 为 C 消费包装 C++ 类 API

我有一组相关的C++类,它们必须从DLL中包装和导出,以便C/FFI库可以轻松使用它。我正在寻找一些“最佳实践”来做到这一点。例如,如何创建和释放对象、如何处理基类、替代方案等……到目前为止,我的一些基本准则是将方法转换为简单的函数,并带有一个额外的void*参数来表示“this”指针,包括任何析构函数。构造函数可以保留其原始参数列表,但必须返回一个表示对象的指针。所有内存都应该通过同一组进程范围的分配和空闲例程来处理,并且在某种意义上应该是可热交换的,无论是通过宏还是其他方式。 最佳答案 Foreach公共(public)方法你需

c++ - 为 C 消费包装 C++ 类 API

我有一组相关的C++类,它们必须从DLL中包装和导出,以便C/FFI库可以轻松使用它。我正在寻找一些“最佳实践”来做到这一点。例如,如何创建和释放对象、如何处理基类、替代方案等……到目前为止,我的一些基本准则是将方法转换为简单的函数,并带有一个额外的void*参数来表示“this”指针,包括任何析构函数。构造函数可以保留其原始参数列表,但必须返回一个表示对象的指针。所有内存都应该通过同一组进程范围的分配和空闲例程来处理,并且在某种意义上应该是可热交换的,无论是通过宏还是其他方式。 最佳答案 Foreach公共(public)方法你需