Execl dans un programme c sous linux

Bonjour toutes et tous,

j'ai créé un programme en c prog1.c qui fait un simple affichage : printf("bonjour");

dans un autre programme prog2.c j'essaie d'appeler prog1 avec la fonction execl, mais cela ne marche pas, alors je suppose que le problème est dans les arguments que je passe à la fonction execl, je fais comme ça:

execl("/home/utilisateur/Bureau/prog1.c","prog1.c",NULL);

note : peut être qu'au lieu de passer "prog1.c" je dois passer son exe?? si oui, comment le faire?

Merci

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Il vaudrait mieux, en effet demander l'exécution du binaire exécutable plutôt que celle du source.
    1. merci pour ta réponse, si tu permets je veux savoir comment faire pour créer le binaire exécutable.
      Parce que d'habitude, pour créer un binaire d'un programme en c je fais:
      cc leProgramme.c 


      et le binaire est généré automatiquement avec le nom 'a.out' Mais là j'ai besoin de lui donner un autre nom pour que je puisse passer ce dernier comme argument à la fonction 'exec'.

      merci
      1. Salut hanagi ! Désolé c'est peut être un peu tard, mais je répond tout de même pour ceux qui tomberaient sur le sujet:

        Si tu veux compiler ton programme en .c et donner un nom au binary, il faut faire :

        gcc leprog.c -o nomDuProgramme 


        Voila,
        bonne journée
        1. Salut Castial, ce n'est jamais trop tard pour faire du bien (enfin .. je pense), et j'espère que ce n'est pas trop tard pour te dire merci :D

          j'espère que votre réponse aidera autres personnes.

          Bonne journée