Ho una libreria condivisa scritta in C++. Esporta un'interfaccia visibile composta dalle funzioni extern "C"
che creano, distruggono e manipolano i tipi opachi.Libreria condivisa C++ chiamata da C
Ora, mi piacerebbe avere un programma C puro che usi questa libreria.
Posso fare questo (piattaforma in modo indipendente)? Quando il runtime C++ e gli oggetti statici C++ verranno inizializzati se main
non è scritto in C++?
Addendum. (glibc :) init/fini è fornito dall'ambiente di runtime (crtS.o) e viene utilizzato per l'inizializzazione di oggetti di durata statica e funzioni di chiamata contrassegnate __attribute __ ((costruttore)), quindi l'esecuzione di init/fini da solo può causare problemi , incluso il salvataggio a causa di una doppia definizione di simbolo. –
@ jørgensen: Potrebbe essere il motivo per cui sono deprecati? – onitake