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
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
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");
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
Je croyais que system etait conforme Posix. :-?Envoyé par poincare
Je verifierai tiens.
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.
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager