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