Tengo una biblioteca compartida escrita en C++. Exporta una interfaz visible hecha de extern "C"
funciones que crean, destruyen y manipulan tipos opacos.Biblioteca compartida de C++ llamada desde C
Ahora, me gustaría tener un programa C puro que use esta biblioteca.
¿Puedo hacer esto (plataforma de forma independiente)? ¿Cuándo se inicializará el tiempo de ejecución de C++ y los objetos estáticos de C++ si main
no está escrito en C++?
Addendum. (glibc :) init/fini es proporcionado por el entorno de tiempo de ejecución (crtS.o) y se utiliza para la inicialización de objetos de duración estática y funciones de llamada marcadas __attribute __ ((constructor)), por lo que anular init/fini por su cuenta puede ocasionar problemas , incluido el rescate debido a una definición de doble símbolo. –
@ jørgensen: ¿Podría ser esa la razón por la que están en desuso? – onitake