|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 37 ![]() |
Bonjour tout le monde,
J'ai une fonction de lecture de fichier en fortran que j'essaie de lancer a partir de mon programme python. Le problème est que mon programme python ne trouve pas les fonction READ()/WRITE. Donc ma question est : quel librairie dois-je linker pour que mon programme python trouve ces librairies contenant les fonction python READ et WRITE ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 710 ![]() |
Salut,
Je ne comprend pas trop. Vous voulez depuis Python appeler les instructions fortran READ/WRITE? Comme ce sont des instructions, le compilateur fortran les remplacera, lors de la génération du code, par des appels à des fonctions de sa librairie "interne". Ces fonctions (et leurs points d'entrées) dépendent du compilateur, varient suivant le type et la liste des arguments passés,... Il sera plus simple de créer une fonction fortran qui "emballe" l'appel à ces instructions: vous connaîtrez alors point d'entrée et paramètres. Ceci dit, pourquoi ne pas utiliser directement les méthodes .read .write de Python?
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 37 ![]() |
Effectivement c'est la solution temporaire que j'ai choisi pour le moment. J'utilise le read et write de python.
Mais la solution la plus propre pour mon projet serait celle ci : J'ai une librairie fortran qui contient une fonction toto() qui fait le read/write d'un fichier et effectue des calculs. A coté de cela, je crée un programme python qui crée un GUI et fait appel a cette fonction toto(). En ce qui concerne la clarté de mon projet j'aimerai juste séparer le coté GUI pour python, et garder le vieux code fortran deja existant pour tout les algorithmes créer sinon j'en ai pour plusieur mois de travail ... |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 710 ![]() |
Salut,
Citation:
Ou plutôt qu'est ce qui ne fonctionne pas? - W
__________________
Architectures Post-Modernes |
|
|
|
00
|
|
|
#5 | ||||||
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 37 ![]() |
Voici ma fonction TOTO.F le module créé se nomme Transf:
Code :
Code :
Code :
Et effectivement voici ce que donne un nm de Transf.so: U open_ Alors que tout les autres algo de la librairie généré sont nickel... |
||||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 710 ![]() |
Salut,
Je n'ai plus de compilateur gnu fortran pour tester les 2/3 idées que je pourrais avoir sur le sujet. Pourriez vous préciser l'OS et la version de gfortran que vous utilisez? En espérant que cela inspire d'autres visiteurs. Désolé - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : novembre 2008 Messages : 37 ![]() |
<xa99222@lx> gfortran -v
Utilisation des specs internes. Target: x86_64-redhat-linux Configuré avec: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux Modèle de thread: posix version gcc 4.1.1 20070105 (Red Hat 4.1.1-51) <xa99222@lx> uname -a Linux lx-teuchos36 2.6.20-1.2948.fc6 #1 SMP Fri Apr 27 19:18:54 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux |
|
|
00
|
|
|
#8 |
|
Membre émérite
![]() Inscription : décembre 2007 Messages : 754 ![]() |
bonjour,
dans le programme fortran il y a une erreur. open est une instruction, pas une routine. du coup c'est et pas C'est pour ça qu'il y a un undefined symbol à la compilation. f2py n'est pas en cause, ce programme ne se compile pas en Fortran seul (je parle de l'édition des liens bien entendu). |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com