Tengo una biblioteca C heredada, escrita en un formulario tipo OO. Las funciones típicas son como:Escribir un contenedor C++ para una biblioteca C
LIB *lib_new();
void lib_free(LIB *lib);
int lib_add_option(LIB *lib, int flags);
void lib_change_name(LIB *lib, char *name);
Me gustaría utilizar esta biblioteca en mi programa en C++, así que estoy pensando en un envoltorio de C++ que se requiere. Lo expuesto todos parecen correlacionarse con algo como:
class LIB
{
public:
LIB();
~LIB();
int add_option(int flags);
void change_name(char *name);
...
};
nunca he escrito en C++ ronda envoltorio C antes, y no pueden encontrar muchos consejos al respecto. ¿Es este un enfoque bueno/típico/sensato para crear un contenedor C++/C?
¿No repetir? –
@Neil: ¿No ser combativo? –
No estoy de acuerdo (pero no downvote). Para libs de C simples, un contenedor a menudo es innecesario. Sin embargo, para las bibliotecas de C más complicadas, una envoltura C liviana puede ser invaluable. Un ejemplo viene a la mente: Tibco tiene una envoltura muy liviana alrededor de Tibrv que es inmensamente útil. –