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

Ada Discussion :

[Prog système] Equivalent de la primitive system en ADA


Sujet :

Ada

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 6
    Points : 3
    Points
    3
    Par défaut [Prog système] Equivalent de la primitive system en ADA
    Bonjour,

    Tout est dans le sujet mais je reformule

    En gros, je cherche à faire en ada l'équivalent de la primitive système "system()"

    Enfin un appel à system("commande"); ?

    Merci pour vos réponses

    Fred

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    system n'existe pas en Ada.
    Tu peux l'importer du C si tu en as vraiment besoin:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function System (Cmd : Interfaces.C.Char_Array) return Interfaces.C.int;
    pragma Import (C, System, "system");

  3. #3
    Membre régulier Avatar de poincare
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 81
    Points
    81
    Par défaut Appel à l'OS
    Les appels au systeme d'exploitation ne sont pas normalisés. Il y a différents packages qui répondent à cette question mais ils sont dépendants du systeme et du compilateur.

    Pour GNAT, le package GNAT.OS_Lib fournit les primitives Spawn
    blocking et non blocking qui sont un début de réponse.

    Sinon voir les implémentations de POSIX

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par poincare
    Les appels au systeme d'exploitation ne sont pas normalisés. Il y a différents packages qui répondent à cette question mais ils sont dépendants du systeme et du compilateur.
    Je croyais que system etait conforme Posix. :-?
    Je verifierai tiens.

  5. #5
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Ada défini ses propres standards de façon à ce que le code source soit complètement portable d'un système à un autre.
    Il n'est donc pas étonnant de ne pas retrouver la fonction system dans les librairies standards de Ada car la validité de la chaine passée à cette fonction dépend entièrement du système.

    La fonction system est conforme à POSIX1, mais tous les système ne sont pas conforme à POSIX.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  6. #6
    Membre régulier Avatar de poincare
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 81
    Points
    81
    Par défaut
    Tout a fait d'accord, avec l'utilisation d'une instruction du type :

    system (commande), plus de portabilité.

    En plus, je viens de vérifier dans Gnat, un Spawn ne doit pas être utilisé dans une application multitache.
    Si malgré tout, il faut appeler le systeme, il faut encapsuler ces appels dans un
    package spécial pour faciliter les portages. Un exemple : le serveur AWS sur le site libre.adacore

Discussions similaires

  1. Système de classeurs "learning classifier system" (LCS)
    Par info_amel dans le forum Méthodes prédictives
    Réponses: 5
    Dernier message: 21/05/2011, 01h25
  2. [Système] Equivalent de la fonction "eval" d'Asp en php5
    Par baxter_dev dans le forum Langage
    Réponses: 2
    Dernier message: 21/05/2007, 11h48
  3. [Système] Équivalent de la fonction system()
    Par 00Dexter00 dans le forum Langage
    Réponses: 3
    Dernier message: 23/02/2007, 11h59
  4. [Système] Utilisation de la fonction system
    Par ouss dans le forum Langage
    Réponses: 6
    Dernier message: 30/10/2006, 14h16
  5. Réponses: 2
    Dernier message: 02/10/2006, 11h05

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