J'essaie d'obtenir du code FORTRAN pour appeler quelques fonctions C++ que j'ai écrites (c_tabs_ étant l'une d'entre elles). Lier et tout fonctionne bien, tant que j'appelle des fonctions qui n'appartiennent pas à une classe.Utiliser Fortran pour appeler les fonctions C++
Mon problème est que les fonctions que je veux que le code FORTRAN appelle appartiennent à une classe. Je regardais la table des symboles en utilisant nm et le nom de la fonction est quelque chose de laid comme ceci:
00000000 T _ZN9Interface7c_tabs_Ev
FORTRAN ne me permet pas d'appeler une fonction de ce nom, en raison du trait de soulignement au début, donc je m à perte.
Le symbole pour c_tabs quand il est pas dans une classe est assez simple, et Fortran n'a pas de problème avec elle:
00000030 T c_tabs_
suggestions? Merci d'avance.
+1 pour suggérer l'utilisation de la liaison ISO C qui rend très simple et robuste ce qui était auparavant plutôt compliqué et fragile. –
Parfait! Ceci est exactement ce que je cherchais. Je jouais avec la création d'une interface C comme Die in Sente dans sa réponse, mais c'est une douleur. Merci beaucoup. –