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

GTK+ avec C & C++ Discussion :

system() contre g_spawn_async()


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut system() contre g_spawn_async()
    Bonjour,

    Pour mon interface en GTK+, j'ai besoin d'ouvrir différents programmes "externes". J'ai eu l'occasion de voir que system(), ce n'est pas bien.
    Seulement, le prototype de g_spawn_async() est quelque peu effarant de complexité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    g_spawn_async
    (
        const gchar *working_directory,
        gchar **argv,
        gchar **envp,
        GSpawnFlags flags,
        GSpawnChildFunc child_setup,
        gpointer user_data,
        GPid *child_pid,
        GError **error
    )
    Auriez-vous l'amabilité de m'éclairer sur les différents paramètres avec un exemple ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Tu peux trouver la liste des arguments avec une description sur http://library.gnome.org/devel/glib/...#g-spawn-async Certains des arguments sont facultatifs (ie peuvent etre mis à NULL ou 0) si tu n'en as pas l'utilité

  3. #3
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Certes oui, mais à quoi correspond "le vecteur d'arguments du processus-enfant" ?
    Quels sont les drapeaux à indiquer ? Dans quel ordre ? Que mettre comme setup quand je veux lancer feh, comme dans l'exemple suivant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Instruction = concat(3, "feh -F -z -D 2 --filelist '", Nom_Fichier, "' &");
    Entier_Quelconque = system(Instruction);
    (concat étant une fonction de concaténation de chaînes de caractères)

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    vecteur d'argument, c'est un tableau contenant les arguments à passer à ton programme, c'est la même philosophie que le tableau passé à execv je crois. Le "child_setup", tu ne sais pas ce que c'est, donc je partirais du principe que tu n'en as pas besoin et je la mettrais à NULL.Pour les flags, idem, soit y en a qui te plaisent dans la description, soit tu les mets à 0

  5. #5
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Les arguments, ça serait "-F -z -D 2 --filelist" ?

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Plutôt un tableau contenant "-F", "-z", ... Je sais pas s'il faut "-D", "2" ou "-D 2", je me trompe à chaque fois.

Discussions similaires

  1. Arguments pour et contre Access ?
    Par bottura dans le forum Sondages et Débats
    Réponses: 240
    Dernier message: 23/03/2018, 23h25
  2. Protéger une disquette contre la copie
    Par benzaza dans le forum Assembleur
    Réponses: 20
    Dernier message: 16/01/2005, 10h42
  3. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  4. Algo "Contre l'ordinateur"
    Par Black-Ghost dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 15/10/2002, 10h55
  5. [TP7]systeme d'exploitation
    Par numeror dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 15/08/2002, 08h47

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