Mon programme C++ ne s'exécute pas !!!
Résolu/Fermé
jerbiano
Messages postés
38
Date d'inscription
vendredi 27 mars 2009
Statut
Membre
Dernière intervention
28 mai 2013
-
Modifié par jerbiano le 26/07/2010 à 13:12
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 30 juil. 2010 à 09:53
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 30 juil. 2010 à 09:53
A voir également:
- Mon programme C++ ne s'exécute pas !!!
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Frequence programme national ✓ - Forum Messagerie
- Programme demarrage windows 10 - Guide
- Programme bonjour ✓ - Forum Windows
- Programme démarrage windows 10 - Guide
2 réponses
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
26 juil. 2010 à 14:13
26 juil. 2010 à 14:13
D'après les fichiers inclus, je pense que ce doit être des sources pour Linux.
Le problème c'est qu'il y a quelques différences sur les sockets entre win et Linux qui font que même si tu récupérais les .h, ton programme ne tournerai pas.
Le problème c'est qu'il y a quelques différences sur les sockets entre win et Linux qui font que même si tu récupérais les .h, ton programme ne tournerai pas.
jerbiano
Messages postés
38
Date d'inscription
vendredi 27 mars 2009
Statut
Membre
Dernière intervention
28 mai 2013
26 juil. 2010 à 15:44
26 juil. 2010 à 15:44
Donc a ton avis je doit utiliser Linux pour que sa marche ??
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
27 juil. 2010 à 08:12
27 juil. 2010 à 08:12
Si tu peux, oui.
Sinon, il y a cygwin sur windows qui te permets de faire un peu comme linux. Je viens de vérifier, chez moi le .h sont présents. En revanche, sous win, il faut démarrer les socket, mais avec cygwin je ne sais pas.
pour libxml, ça doit être une bibliothèque un peu plus éxotique, car je ne l'ai pas. là il faut que tu cherche sur le net.
Sinon, il y a cygwin sur windows qui te permets de faire un peu comme linux. Je viens de vérifier, chez moi le .h sont présents. En revanche, sous win, il faut démarrer les socket, mais avec cygwin je ne sais pas.
pour libxml, ça doit être une bibliothèque un peu plus éxotique, car je ne l'ai pas. là il faut que tu cherche sur le net.
jerbiano
Messages postés
38
Date d'inscription
vendredi 27 mars 2009
Statut
Membre
Dernière intervention
28 mai 2013
28 juil. 2010 à 17:47
28 juil. 2010 à 17:47
Merci, snipeur pour votre aide ;
Pour le moment je suis entrain d'installé cygwin pour vérifier si sa marche
Voila le programme C que je veux l'exécuter alors stp essaye de le compiler et dis moi si ça marche?
mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include <errno.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
int ipipes[ 2 ], opipes[ 2 ];
pid_t pid;
int rc;
char buf[ BUFSIZ ];
if (pipe(ipipes) <0 || pipe(opipes) <0)
err(1, "pipe failed");
pid = fork( );
if (pid <0)
err(1, "fork failed");
if (pid == 0) {
dup2(opipes[ 0 ], STDIN_FILENO);
dup2(ipipes[ 1 ], STDOUT_FILENO);
dup2(ipipes[ 1 ], STDERR_FILENO);
close(ipipes[ 0 ]); /* close read end of pipe */
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
close(opipes[ 1 ]); /* close write end of pipe */
execlp("ssh", "ssh", "-x", routing-platform , "junoscript", NULL);
err (1, "unable to execute: ssh %s junoscript," router);
}
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
if (write(opipes[ 1 ], initial_handshake, strlen(initial_handshake)) <0 )
err(1, "writing initial handshake failed");
rc=read(ipipes[ 0 ], buf, sizeof(buf));
if (rc <0)
err(1, "read initial handshake failed");
Pour le moment je suis entrain d'installé cygwin pour vérifier si sa marche
Voila le programme C que je veux l'exécuter alors stp essaye de le compiler et dis moi si ça marche?
mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/resource.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <fcntl.h>
#include <errno.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
int ipipes[ 2 ], opipes[ 2 ];
pid_t pid;
int rc;
char buf[ BUFSIZ ];
if (pipe(ipipes) <0 || pipe(opipes) <0)
err(1, "pipe failed");
pid = fork( );
if (pid <0)
err(1, "fork failed");
if (pid == 0) {
dup2(opipes[ 0 ], STDIN_FILENO);
dup2(ipipes[ 1 ], STDOUT_FILENO);
dup2(ipipes[ 1 ], STDERR_FILENO);
close(ipipes[ 0 ]); /* close read end of pipe */
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
close(opipes[ 1 ]); /* close write end of pipe */
execlp("ssh", "ssh", "-x", routing-platform , "junoscript", NULL);
err (1, "unable to execute: ssh %s junoscript," router);
}
close(ipipes[ 1 ]); /* close write end of pipe */
close(opipes[ 0 ]); /* close read end of pipe */
if (write(opipes[ 1 ], initial_handshake, strlen(initial_handshake)) <0 )
err(1, "writing initial handshake failed");
rc=read(ipipes[ 0 ], buf, sizeof(buf));
if (rc <0)
err(1, "read initial handshake failed");
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
29 juil. 2010 à 08:34
29 juil. 2010 à 08:34
Ce n'est même pas la peine, ton programme ne compilera jamais ainsi. le code est mis en dehors de tout corps de fonction. En plus, je n'ai pas "libxml".
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
30 juil. 2010 à 09:53
30 juil. 2010 à 09:53
où as tu trouvé ce code ?