Envolviendo la clase C ++ API para el consumo de C

Tengo un conjunto de clases relacionadas de C ++ que se deben envolver y exportar desde una DLL de tal manera que las bibliotecas C / FFI puedan consumirlas fácilmente. Estoy buscando algunas "mejores prácticas" para hacer esto. Por ejemplo, cómo crear y liberar objetos, cómo manejar clases base, soluciones alternativas, etc.

Algunas de las pautas básicas que tengo hasta ahora es convertir los métodos en funciones simples con un argumento void * adicional que representa el puntero 'this', incluido cualquier destructor. Los constructores pueden conservar su lista de argumentos original, pero deben devolver un puntero que represente el objeto. Toda la memoria debe manejarse a través del mismo conjunto de asignaciones de proceso y rutinas libres, y debe ser intercambiable en caliente en un sentido, ya sea a través de macros o de otra manera.

Respuestas a la pregunta(6)

Su respuesta a la pregunta