Bonjour,
J'ai fait une biblioth�que statique en C++ et pour l'attaquer j'ai fait une structure avec des fonctions contenant que des types primitifs.
L'objectif est qu'un utilisateur qui est en C pure puisse l'utiliser.
Mais je sais que la d�finition des fonctions en C++ est expos�e diff�remment dans les binaires pour g�rer les surcharges, donc le type des param�tres est indiqu� dans la d�finition emp�chant ainsi les doublons sur uniquement les noms.
Par cons�quent j'ai un doute sur la possibilit� d'utiliser ma biblioth�que en C pure. En gros, je veux fait l'inverse de "extern "C" { ... }" qu'on utilise pour importer des fonctions C afin d'exposer mes fonctions en C Style m�me si derri�re l'impl�mentation redirige vers du C++.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 (lib.h) struct Lib { int MaFonction1(); int MaFonction2(); }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 (lib.cpp) Lib::MaFonction1() { Manager.FonctionCpp1(); } Lib::MaFonction2() { Manager.FonctionCpp1(); }Est-ce possible ? Peut-�tre qu'il n'y a juste � mettre "extern "C" {" en d�but du fichier lib.h et "}" en fin ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 (main_user.c) #include "lib.h" int main(int argc, char** argv) { Lib l; l.MaFonction1(); l.MaFonction2(); }
Merci � tous,
A bient�t
Partager