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 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 30 juil. 2010 à 09:53
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 30 juil. 2010 à 09:53
A voir également:
- Mon programme C++ ne s'exécute pas !!!
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme démarrage windows 10 - Guide
- Ce message d'erreur apparaît sur l'ordinateur d'elena. que peut-on dire du programme gwxux ? - Forum logiciel systeme
- Desinstaller un programme - Guide
2 réponses
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
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
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
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
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
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
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
30 juil. 2010 à 09:53
30 juil. 2010 à 09:53
où as tu trouvé ce code ?