Bonjour,
Je cherche à utiliser du code C++ dans un programme fortran.
En fait, j'aimerais utiliser une librairie de pilotage d'un pointeur 3D en fortran+openGL.
Quelqu'un a-t-il une idée ?
Par avance merci.
Bonjour,
Je cherche à utiliser du code C++ dans un programme fortran.
En fait, j'aimerais utiliser une librairie de pilotage d'un pointeur 3D en fortran+openGL.
Quelqu'un a-t-il une idée ?
Par avance merci.
déjà, qu'appelle-tu un "pointeur 3D" un tableau de 3 pointeurs??? ensuite il existe déjà l'attribut pointeur pour les variable fortran depuis le fortran 90... il se manipule différent du C++ mais bon...
ensuite si tu ne cherche qu'à utiliser opengl dans un programme fortran, le c++ n'est pas obligatoire, par exemple : http://math.nist.gov/f90gl/ ensuite il est déconseillé d'utiliser fortran pour faire du "graphique" car la programmation serai lourde et coûteuse en temps (mais rien n'est impossible) donc souvent utilise le fortran pour les calculs de "coeur" et le c++ pour l'interface...
pour le lien entre ces deux language, à partir de la norme 2003 (et donc 2008 aussi) les liens entre les deux laguage sont renforcé même si c'est plutôt au langage C que cela s'applique (le concepte de classe du c++ est assez délicat par exemple)
je donne que des pistes générales, précise un peu plus tes besoin!!
Merci pour la réponse. Je crois ne pas m'etre assez expliqué :
Le pointeur 3D dont je parle n'a rien a voir avec la notion de pointeur. Il s'agit d'une souris 3d de la marque 3D connexion. Or, dans le SDK fourni avec, les librairie ne sont présentes qu'en C++, d'ou ma question, peut-etre mieux formulée cette fois :
Commanet faire pour compiler ces librairies et pouvoir avoir accès aux informations auxquelles elles donnent accès ( typiquement les 3 rotations, les 3 translations ) ?
oh!!!! alors là, j'étais en effet à coté de la plaque!!!! désolé...
alors j'aurais une solution (bourrine): comme sous unix-like "tout est fichier" il suffit d'ouvrir en mode "read" le fichier correspondant à ton périphérique (ça c'est la partie facile) et ensuite de comprendre ce que te sort le programme lors des divers mouvement: pas très compliqué mais un peu long.... en gros tu réécrit les libs ...
sinon l'idée est d'utiliser les libs déjà faites... les normes récentes de fortran ont voulu une interopérabilité avec le language C je te conseil donc de faire un fichier de "traduction" : des routines fortran qui vont appeler les routines C/C++ ainsi dans ton code tu utilisera directement les routine fortran sans te poser de question. en gros créer le module manquant dans la lib pour intégrer le fortran...
pour ce fichier de traduction il faut aller regarder dans la norme 2003 et 2008, notament en ce qui concerne la compatibilité des type int et real...
normalement si tu utilise gcc et gfortran, il n'y a pas de gros soucis lorsque l'on mixe des ".o" généré en fortran et en C...
Ok, donc je résume,
Comme j'ai les sources des bibliothéques me permettant de piloter la souris 3D, je peux les compiler avec gcc ( éventuellement avec des options ? si oui, lesquelles)
ensuite je compile mon programme fortran avec g95 par exemple, et ensuite je linke les deux ?
C'est a peu près ça ?
En gros oui
En pratique c'est assez compliqué (et ca peut ne pas être portable) sauf si comme le dit genteur slayer tu utilises Fortran 2003...
Parce que bon, tu dois gérer les tailles des types, le sens des tableaux etc...
Partager