Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1612 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Programme C++ / Fortran sous Visual 6 - Convention d'appel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Programme C++ / Fortran sous Visual 6 - Convention d'appel

n°2149169
NathGe
Posté le 12-07-2012 à 18:24:59  profilanswer
 

Bonjour,
 
Je dois développer sous Visual 6 un programme en C++ faisant également appel à des sous-routines en Fortran.
Le travail s'est déroulé, en utilisant en option pour les Calling Convention (Convention d'appels), stdcall, et en écrivant en C++ les déclarations de sous-routines fortran sous la forme :
 

Code :
  1. extern "C" __stdcall void NOMDEFONCTION(int*,int*);


 
Tous semble se gater sous Visual 6 lorsque je veux également passer des chaines de caractères en plus comme argument :
 
J'ai essayé de conserver les mêmes conventions stdcall, de les enlever ou de jouer sur les déclarations avec :
 

Code :
  1. extern "C" __stdcall void NOMDEFONCTION(int*,int*, char*);
  2. ou
  3. extern "C"  void NOMDEFONCTION(int*,int*, char*);


 
Mais rien ne semble fonctionner ! Au pire la compilation est refusée avec les messages :
 

Code :
  1. main.obj : error LNK2001: unresolved external symbol _FONCTION1@12
  2. main.obj : error LNK2001: unresolved external symbol _FONCTION2@16


 
Au mieux, j'ai changé les conventions d'appel du projet principal et de celui contenant les fichiers fortran qui doivent permettre de développer la librairire fortran qui est liée au projet.
Mais dans cette situation, l'éxécution démarre correctement avec de s'arrêter, notamment en raison de passage incorrect des valeurs entières.
 
Quelqu'un pourrait-il me renseigner et m'indiquer quelles sont les conventions d'écriture des méthodes et de leur déclaration ?
ou comment réaliser cet appel, en passant quand même des chaines de caractères en argument ?
Il semble que ce point est le seul bloquant car les sous-routines ne passant pas de chaines de caractère fonctionnent parfaitement.
 
Je galère sur ce projet, ce qui est d'autant plus rageant car il fonctionne correctement sous Visual 2005, mais les noms des conventions d'appel sont différents de V6.
Cependant, je dois maintenant le redévelopper sous Visual6.
 
D'avance merci de votre aide,
 
NathGe

mood
Publicité
Posté le 12-07-2012 à 18:24:59  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Programme C++ / Fortran sous Visual 6 - Convention d'appel

 

Sujets relatifs
Supprimer les MFC d'une application C++Traduction du C vers Ada
[C] Quelle différences entre le langage C pour Win XP et Win CE 6.0 ?Est il possible de modifier un programme pour mettre a jour le contenu
Executer un programme toute les 5 minutesDes listes en C..
[C#] Datagrid point decimal supprimé automatiquement [Résolu]Developpement d'un jeu sous udk (C++)
reception INT de C vers Java problématique[VB.NET] Appel d'une DLL écrite en C++
Plus de sujets relatifs à : Programme C++ / Fortran sous Visual 6 - Convention d'appel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR