IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Localisation exécutable Fortran


Sujet :

Fortran

  1. #1
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut Localisation exécutable Fortran
    Bonjour

    Je développe un exécutable Fortran qui, pour fonctionner, a besoin d'aller chercher des fichiers texte stockés dans une sorte de bibliothèque.
    Je souhaiterais pouvoir appeler cet exécutable en lignes de commande sous DOS depuis n'importe quel point de l'arborescence, aussi le lieu d'exécution du programme et la localisation physique du fichier .exe sont-ils à priori différents.

    Deux questions :

    --> Pour pouvoir aller chercher les fichiers texte en bibliothèque, j'ai besoin de connaître le lieu de stockage de l'exécutable (défini pendant l'installation, donc non fixée par moi !!!), où le répertoire bibliothèque aura été placé. Comment faire ???? J'insiste sur le fait qu'il est différent du répertoire courant (pour lequel il existe une commande Fortran).

    --> Est-il possible de rendre un .exe accessible de partout quand le path est plein (Grrrrr ) ???

    D'avance, merci beaucoup

    N.B. : Fortran, compilateur intel 64bits, windows XP


    Yin Zhen

  2. #2
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    je comprend pas le "path est pein" tu peut toujours rajouter des chemin dans le path...

    ensuite, tu peut utiliser un fichier texte dans le repertoire courrant qui contient les différentes localisations et qui est lu par ton prog... (si ton code fortran est lancé par un autre prog, tu peut passer en paramètre les chemin mais c'est une extenssion de la norme et je sais pas si ton compilo le supporte)

    sinon pour rendre ton exe accessible partout, tu fait un lien vers ton exe et tu place le lien dans un rep qui est inscrit au path... sous windaube c un peu dur mais bon il dois bien y avoir un moyen

    autre solution: à l'intallation tu écris les emplacements de tes différents reps dans la base de registre (atention: utilisé l'API windows dans un programme peut enjendrer des surprises) et tu lit ta base de registre pour savoir où sont tes fichiers...

    tu utilise XP64bit (je suppose sinon ton compilo ne marcherai pas) et il me semble qu'il y a quelques différence avec la version32 dans les fonction de l'API donc regarde bien pour appeler la bonne fonction de lecture/écriture dans la base de registre...

    dis moi si j'ai bien compris: il y a trois reps différents:
    -celui où est l'exécutable
    -celui où est stocké la bibliotèque
    -le rep courrant
    ??

  3. #3
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut Précisions
    Merci pour ces réponses rapides.

    Concernant le path, il me semblait bien qu'il était limité en taille, mais vérification faite, tu as raison... Du coup, j'évite de rentrer dans la base de registres. C'est pas plus mal, je suis un programmeur scientifique, pas un vrai informaticien...

    Concernant le nombre de répertoires, tu as parfaitement compris, j'ai bien trois répertoires. Cela dit, une fois que le lieu de stockage du .exe est récupéré, la localisation du répertoire bibliothèque se déduit par concaténation, genre :

    path_biblio=path_installation//path_biblio_relatif

    moyennant les "trim" d'usage pour éliminer les espaces perturbateurs. Ainsi, en termes d'interrogation par l'exécutable, seuls deux répertoires sont à récupérer.
    L'idée est de donner une souplesse dans l'installation à l'utilisateur. Je souhaiterais qu'il soit possible de choisir le répertoire d'installation sans avoir à recompiler.

    Yin Zhen

  4. #4
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    s'il s'agit d'une installation automatique (genre fait par un soft) tu peux dire à l'installeur de créer un fichier texte dans le rep de ton exe qui contient le repertoire où se trouve l'éxecutable.

    par contre je comprend pas bien pourquoi le repertoire courrant n'est pas identique au rep de l'exe, en tout cas, dans quel but...

  5. #5
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut Au final...
    C'est un peu ça... je compte mettre au point un petit programme d'installation.

    J'ai trouvé la solution suivante (ça marche) : je place le fichier texte dont tu parles (qui peut, bien-sûr, être construit par le programme d'installation) dans un répertoire qui existe toujours pour un OS donné, par exemple : C:\WINDOWS\. L'exécutable va ensuite chercher ce fichier pour savoir où il est.

    Si le répertoire courant et le répertoire de l'exécutable sont différents, c'est que l'idée est d'utiliser ce .exe pour traiter des fichiers n'importe-où, avec des appels du style :

    C:\travail\woodmol fichier_commandes.txt

    sachant que woodmol.exe est le nom de mon exécutable.

    Mais bon, tout ça sort du Fortran stricto sensu... et j'imagine que c'est différent sur unix ou linux...


    Yin Zhen

  6. #6
    Membre émérite Avatar de genteur slayer
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2002
    Messages
    710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 710
    Par défaut
    tu peux t'arrangé comme cela en effet mais atention: C:\windows, n'existe pas toujours: sur certain (vieux) windows NT ce rep s'appelle winnt... et de plus chez moi cela ne marcherai pas car je n'ai pas installé windows sur le disque c: ....

    il y a un moyen pour contourner ce problème c'esty d'utilisé la variable d'environement (clic droit sur poste de travail>avancé>variable d'environement puis dans le cadre variable systeme) windir
    donc ton chemin vers ton txt serai un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    %windir%\donnée.txt

  7. #7
    Membre actif
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Par défaut Merci !!!
    C'est parfait, ça marche...

    J'ai utilisé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    subroutine charger_path_install
    character(len=100)::windir
    call GET_ENVIRONMENT_VARIABLE('windir',windir)
    open(1,file=trim(adjustl(windir))//'\woodmol_path_install.txt')
    read(1,fmt='(A100)') path_install
    close(1)
    path_install=trim(adjustl(path_install))
    end subroutine charger_path_install
    Merci


    Yin Zhen

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer un exécutable Fortran
    Par laurentcl dans le forum Tcl/Tk
    Réponses: 6
    Dernier message: 23/12/2011, 13h39
  2. Meilleure vitesse d'exécution : Fortran vs C++ ?
    Par Kaluza dans le forum Langages de programmation
    Réponses: 25
    Dernier message: 13/04/2010, 19h03
  3. Exécuter un programme Fortran depuis VBA ?
    Par zerbault dans le forum Fortran
    Réponses: 1
    Dernier message: 08/01/2007, 09h58
  4. Localiser une erreur d'exécution dans une DLL
    Par Invité dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2006, 21h04
  5. Réponses: 7
    Dernier message: 10/10/2006, 01h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo