C++ : appel à un .exe depuis le code

Discutez d'informatique ici !
rattlesnake
Membre Naturel
Messages: 29
Enregistré le: 15 Aoû 2014, 14:01

C++ : appel à un .exe depuis le code

par rattlesnake » 09 Sep 2014, 11:41

Bonjour,

J'aimerais savoir s'il est possible d'appeler l'executable d'un (autre) code à partir d'un fichier de code .cpp.
cad que l'execution du .exe de mon .cpp lance un autre .exe par conséquence.

un peu du genre

Code: Tout sélectionner
main{
   code
   appel à l'executable comme on appelerait une fonction
   code
   fin
}


Merci d'avance !



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 09 Sep 2014, 11:43

salut,

oui, regardes exec, system ou popen
la vie est une fête :)

rattlesnake
Membre Naturel
Messages: 29
Enregistré le: 15 Aoû 2014, 14:01

par rattlesnake » 09 Sep 2014, 12:07

fatal_error a écrit:salut,

oui, regardes exec, system ou popen


Merci pour ta réponse, j'essaye ça !

rattlesnake
Membre Naturel
Messages: 29
Enregistré le: 15 Aoû 2014, 14:01

par rattlesnake » 09 Sep 2014, 12:35

J'ai essayé
Code: Tout sélectionner
int main()
{

int value_returned = system("./b2tf");

return 0;
}


et j'obtiens à l'execution le message d'erreur

Code: Tout sélectionner
./test_exe: libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
./test_exe: libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)


sachant que lorsque je lance directement l'executable avec la commande ./b2tf ça fonctionne...

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 09 Sep 2014, 13:09

ben je sais pas.
ton bt2f ils sent la mort.
Déjà je sais pas pourquoi tu parles de .exe alors que t'es sous linux.
Ensuite, libstdc++.so.6 ca ressemble à genre... ton compilo trop récent ou vieux par rapport à ta lib
http://stackoverflow.com/questions/19386651/how-to-fix-usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found

genre tas fait ton bt2f ya une éternité, entre temps t'as upgradé de gcc...
un exemple simpliste qui marche:
Code: Tout sélectionner
main.cpp:
#include
int main()
{
    std::system("./this");
}

Code: Tout sélectionner
this.cpp:
#include
int main()
{
    std::system("ls -l >test.txt");
}

g++ this.cpp -o this && g++ main.cpp -o main && ./main && cat test.txt|grep main
la vie est une fête :)

rattlesnake
Membre Naturel
Messages: 29
Enregistré le: 15 Aoû 2014, 14:01

par rattlesnake » 10 Sep 2014, 09:44

fatal_error a écrit:ben je sais pas.
ton bt2f ils sent la mort.
Déjà je sais pas pourquoi tu parles de .exe alors que t'es sous linux.
Ensuite, libstdc++.so.6 ca ressemble à genre... ton compilo trop récent ou vieux par rapport à ta lib
http://stackoverflow.com/questions/19386651/how-to-fix-usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found

genre tas fait ton bt2f ya une éternité, entre temps t'as upgradé de gcc...
un exemple simpliste qui marche:
Code: Tout sélectionner
main.cpp:
#include
int main()
{
    std::system("./this");
}

Code: Tout sélectionner
this.cpp:
#include
int main()
{
    std::system("ls -l >test.txt");
}

g++ this.cpp -o this && g++ main.cpp -o main && ./main && cat test.txt|grep main


Au fait il ne trouvait juste pas les librairies qu'il lui fallait, à cause d'une mauvaise manip de copié-collé dans le dossier qui a créé des raccourcis, du coup confusion je suppose. En nettoyant ça a fonctionné
Merci pour ta réponse !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite