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

API standards et tierces Java Discussion :

methode exce de Runtime


Sujet :

API standards et tierces Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut methode exce de Runtime
    Bonjour tous le monde

    je veux utiliser la methode Exec() de Runtime, qui est sur cette forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public Process exec(String command, String[] envp);
    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String[] envp = new String[] {"Path = Resource"};
     
    String Commande = "gcc.exe -E -nostdinc -B Resource \"TestCases/bddpersonnes.cpp\"" 
    	+
    " -o \"test/resNew.cpp\"";
     
    Process proc = rt.exec(Commande,envp);
    Tel que : Resource, TestCases, test sont des dossier dans la racine de mon projet

    quand j'éxécute il m'affiche l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    java.io.IOException: Cannot run program "gcc.exe": CreateProcess error=2, Le fichier spécifié est introuvable
    	at java.lang.ProcessBuilder.start(Unknown Source)
    	at java.lang.Runtime.exec(Unknown Source)
    	at java.lang.Runtime.exec(Unknown Source)
    	at java.lang.Runtime.exec(Unknown Source)
    	at Preprocess.main(Preprocess.java:30)
    Caused by: java.io.IOException: CreateProcess error=2, Le fichier spécifié est introuvable
    	at java.lang.ProcessImpl.create(Native Method)
    	at java.lang.ProcessImpl.<init>(Unknown Source)
    	at java.lang.ProcessImpl.start(Unknown Source)
    	... 5 more
    mais quand je modifie commande par la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String Commande = "Resource/gcc.exe -E -nostdinc -B Resource \"TestCases/bddpersonnes.cpp\"" 
    	+
    " -o \"test/resNew.cpp\"";
    dans ce cas il m'affiche pas l'erreur mais il me génère pas le out !!

    quelqu'un peut m'aider..merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    alors, exec n'est pas un shell, il n'ira donc ni chercher dans ton PATH après l'application, ni gérer automatiquement les entrées / sorties de ton programme. Donc, ta deuxième exécution est plus correcte, mais tu te dois encore de gérer l'objet Process que tu recois en retour, plus particulièrement les entrée et sorties de sa console afin de
    1) lire les éventuelles erreurs qu'affiche gcc
    2) empécher le programme en question de givrer lorsque ses buffers entrées / sortie seront plein.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    aussi, il est préférable d'utiliser la méthode
    exec(String[] cmdarray)
    qui permet de bien scinder les différents arguments du programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Process p = runtime.exec(new String[] {
        "Resource/gcc.exe",
        "-E",
        "-nostdinc",
        "-B",
        "Resource",
        "TestCases/bddpersonnes.cpp", 
        "-o"
        "test/resNew.cpp" });

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    bon j'ai suivi la méthode que tu m'a donné et toujours il me donne rien en sortie

    Citation Envoyé par tchize_ Voir le message
    2) empécher le programme en question de givrer lorsque ses buffers entrées / sortie seront plein.
    là j'ai pas bien compris ce que tu veux dire !!

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ton programme écrit sur sa "console" (les entrées sorties standard). Comme tu exécute toi meme c'est à toi de gérer sa "console", c'est à dire ses entrées sorties pour éviter que ses bufffers soient plein. -> rechercher dans les FAQs java pour plus de détails.

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    ok
    alors j'ai essayé d'afficher ce que le process donne en sortie

    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    public static void main(String[] args) {
    	try
    	{
    		final Runtime rt = Runtime.getRuntime();
     
    // appeler le gcc et utiliser public Process exec(String[] command);
     
     
    String[] Commande = new String[] {"Resource/gcc.exe",
     "-E",
    "-nostdinc",
     "-B",
    "Resource",			
    "TestCases/bddpersonnes.cpp",
    "-o",
    "test/resNew.cpp"};
     
    Process proc = rt.exec(Commande);
     
    			 BufferedReader out2 = new BufferedReader(new InputStreamReader( proc.getInputStream()) );
     
    	         String line2 = out2.readLine();
    	         while ( (line2) != null){
    	           	 System.out.println("le2   "+line2);
    	           	 line2 = out2.readLine();
    }
    } catch (IOException e) 
            {
    			e.printStackTrace();
    		}
    	}
    là il m'affiche rien sur la console, et aussi il ne termine pas l'exécution (le boutton terminate de la console reste toujours en rouge) !!

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    et quand j'ai débugué le programme, j'ai trouvé que le out est plein quand même: char[8192] mais sous format bizars (voir l'image en attachement)

    et il me donne rien en sortie, ni sur la console ni le fichier resNew.cpp que j'ai spécifié

    je suis vraiment perdu, je dois livrer mon projet d'ici une semaine et je comprend pas c'est quoi l'erreur !!
    Images attachées Images attachées  

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Citation Envoyé par mima_mine Voir le message
    et quand j'ai débugué le programme, j'ai trouvé que le out est plein quand même: char[8192] mais sous format bizars (voir l'image en attachement)
    Ce que tu montres là ne veut rien dire : c'est l'organisation mémoire interne de la classe, et à moins de connaitre précisément son implémentation tu ne peux rien en déduire...



    Pour exécuter correctement un programme, il y a plusieurs conditions à respecter, dont celle de traiter TOUS les flux dans des threads séparés.



    a++

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    Citation Envoyé par adiGuba Voir le message

    Pour exécuter correctement un programme, il y a plusieurs conditions à respecter, dont celle de traiter TOUS les flux dans des threads séparés.



    a++
    j'ai suivi les lien que t'a proposé, et voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    public class Preprocess {
     
    	public static void main(String[] args) {
    		try
    		{
    			final Runtime runtime = Runtime.getRuntime();
     
    			// appeler le gcc et utiliser public Process exec(String[] command);
     
     
    			String[] Commande = new String[] {"Resource/gcc.exe",
    					                          "-E",
    					                          "-nostdinc",
    					                          "-B","Resource",
    					                          "TestCases/bddpersonnes.cpp",
    					                          "-o",
    					                          "test/resNew.cpp"};
    		final Process process = runtime.exec(Commande);
    // Consommation de la sortie standard de l'application externe dans un Thread separe
    			new Thread() {
    				public void run() {
    					try {
    						BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    						String line = "";
    						try {
    							while((line = reader.readLine()) != null) {
    								// Traitement du flux de sortie de l'application si besoin est
    								System.out.println("le Input   "+line);
    							}
    						} finally {
    							//System.out.println("La valeur de sortie de l'executione est:"+process.exitValue());
    							reader.close();
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}
    				}
    			}.start();
     
    			// Consommation de la sortie d'erreur de l'application externe dans un Thread separe
    			new Thread() {
    				public void run() {
    					try {
    						BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
    						String line = "";
    						try {
    							while((line = reader.readLine()) != null) {
    								// Traitement du flux d'erreur de l'application si besoin est
    								System.out.println("le Error   "+line);
    							}
    						} finally {
     
    							reader.close();
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}
    				}
    			}.start();
     
    		}
    		catch (IOException e) 
            {
    			e.printStackTrace();
    		}
    l'affichage est le même, rien n'est changé
    es-ce que j'ai mis le bon code ?
    j'ai jamais travaillé avec les threads, peux-tu m'donner un lien pour un débutant
    Merci

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    n'oublie pas

    process.getOutputStream().close()

    pour etre sur que gcc.exe n'attendant pas quelque chose sur l'entrée standard.

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    bien pour le moment l'exécution se termine (pas de PB avec le bouton rouge)

    mais il m'affiche rien sur la console !!

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    pour avoir la confirmation que l'exécution est bien terminée, il faut faire appel à process.waitFor()

  13. #13
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    pour avoir la confirmation que l'exécution est bien terminée, il faut faire appel à process.waitFor()
    au début j'ai laissé le 2eme thread (celui de ErrorStream), jj'ai trouvé que le waitFor = 1 !!

    et quand j'ai testé le 1er thread (InputStream), bon il prend un bon moment pour qu'il m'affiche le waitFor = 2 !!

    et si je laisse les 2 voici l'erreur qui s'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    La valeur de wait :2
    La valeur de wait2 :2
    java.io.IOException: Read error
    	at java.io.FileInputStream.readBytes(Native Method)
    	at java.io.FileInputStream.read(Unknown Source)
    	at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
    	at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
    	at sun.nio.cs.StreamDecoder.read(Unknown Source)
    	at java.io.InputStreamReader.read(Unknown Source)
    	at java.io.BufferedReader.fill(Unknown Source)
    	at java.io.BufferedReader.readLine(Unknown Source)
    	at java.io.BufferedReader.readLine(Unknown Source)
    	at Preprocess$2.run(Preprocess.java:76)
    le wait, c'est la variable de InputStream
    wait2 et celle de ErrorStream

  14. #14
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les IOException est normal après l'arret du process. waitFor() retourne la valeur de retour de ton programme. Il faut regarder dans la doc de gcc ce que veux dire une valeur de retour de 2. Tu n'a rien comme sortie de gcc? Pas de message comme quoi il y a une erreur ou comme quoi la compilation est réussie?

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    Citation Envoyé par tchize_ Voir le message

    waitFor() retourne la valeur de retour de ton programme. Il faut regarder dans la doc de gcc ce que veux dire une valeur de retour de 2.
    mais d'après ce lien, waitFor retourne 0 si la compilation est bien terminée !!


    Tu n'a rien comme sortie de gcc?
    Pas de message comme quoi il y a une erreur ou comme quoi la compilation est réussie?
    BON? normalement je dois avoir un fichier en sortie (un code c++),sachant que quand j'exécute ma commande sur dos, il me donne le fichier en sortie bien traité

    quand j'essaie d'afficher le contenue de ErrorStream sur la console; ça marche bien il m'affiche les même warning de DOS, mais pour le InputStream, il m'affiche rien sur la console !!
    vraiment je comprend rien

  16. #16
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est parce que les erreurs vont de fait dans le error stream. Pour faire clair, on en est ou, ca marche ou pas? Quel message d'erreur tu obtiens?

  17. #17
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    voici ce que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    public static void main(String[] args) throws InterruptedException {
    		try
    		{
    			final Runtime runtime = Runtime.getRuntime();
     
    // appeler le gcc et utiliser public Process exec(String[] command);
     
    			String[] Commande = new String[] {"Resource/gcc.exe",
    					                          "-E",
    					                          "-nostdinc",
    					                          "-B",
    					                          "Resource",
    					                          "TestCases/bddpersonnes.cpp",
    					                          "-o",
    					                          "test/resNew.cpp"};
    		final Process process = runtime.exec(Commande);
     
    		process.getOutputStream().close();	
     
     
    // Consommation de la sortie standard de l'application externe dans un Thread separe
    			 new Thread() {
    				public void run() {
    					try {
    						BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    						String line = "";
    						try {
    							while((line = reader.readLine()) != null) {
    // Traitement du flux de sortie de l'application si besoin est
     System.out.println("le Input   "+line);
    							}
     
     
    		} finally {
    							reader.close();
     
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}
    				}
    			}.start();
     
    			 int wait = process.waitFor();
     
    				System.out.println("La valeur de wait :"+wait);
     
     
    // Consommation de la sortie d'erreur de l'application externe dans un Thread separe
    			 new Thread() {
    				public void run() {
    					try {
    						BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream()));
    						String line = "";
    						try {
    		while((line = reader.readLine()) != null) {
    // Traitement du flux d'erreur de l'application si besoin est
    System.out.println("le Error   "+line);
    							}
    						} finally {
     
    							reader.close();
    						}
    					} catch(IOException ioe) {
    						ioe.printStackTrace();
    					}
    				}
    			}.start();
     
    			 int wait2 = process.waitFor();
     
    			System.out.println("La valeur de wait2 :"+wait2);
     
     
    		}
    		catch (IOException e) 
            {
    			e.printStackTrace();
    		}
     
     
     
    		 }
    quand j'exécute il ne termine pas la compilation, a chaque fois je tue le processus (gcc.exe) depuis le gestionnaire des taches, apres il m'affiche ça sur la console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    La valeur de wait :1
    La valeur de wait2 :1
    le Error   <command line>:3:1: warning: "__GNUC_MINOR__" redefined
    le Error   <built-in>:5:1: warning: this is the location of the previous definition
    le Error   <command line>:4:1: warning: "__GNUC_PATCHLEVEL__" redefined
    le Error   <built-in>:6:1: warning: this is the location of the previous definition
    le Error   In file included from TestCases/bddpersonnes.h:1,
    le Error                    from TestCases/bddpersonnes.cpp:1:
    le Error   TestCases/ressources.h:1:20: no include path in which to search for iostream
    le Error   TestCases/ressources.h:2:21: no include path in which to search for algorithm
    le Error   TestCases/ressources.h:3:18: no include path in which to search for string
    le Error   TestCases/ressources.h:4:16: no include path in which to search for list
    le Error   TestCases/ressources.h:5:22: no include path in which to search for functional
    le Error   In file included from TestCases/personnes.h:4,
    le Error                    from TestCases/bddpersonnes.h:2,
    le Error                    from TestCases/bddpersonnes.cpp:1:
    le Error   TestCases/ressources.h:1:20: no include path in which to search for iostream
    le Error   TestCases/ressources.h:2:21: no include path in which to search for algorithm
    le Error   TestCases/ressources.h:3:18: no include path in which to search for string
    le Error   TestCases/ressources.h:4:16: no include path in which to search for list
    le Error   TestCases/ressources.h:5:22: no include path in which to search for functional
    le Error ..... , c'est les warning généré par le gcc (mais ça ne bloque pas le gcc, quand j'exécute par le dos) !!

    Remarque : comme l'exécution par le dos me génère le fichier de sortie, et depuis le programme java ne marche pas, donc surement le problème vient d'eclipse ou bien mon code n'est pas bien écrit

  18. #18
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ou le fait qu'il est occupé de te dire par plein de lignes qu'il trouve pas les fichiers à inclure???

  19. #19
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 187
    Par défaut
    pour les warning, ça me pose pas des problèmes, parce que je lui ai dit de ne pas inclure les fichier système c'est pour cela il dit qu'il n'a pas trouvé les includes (mais c'est pas ça qui me bloque)

    le waitFor normalement vaut 0 quand la compilation est bien terminée mais comme = 1 ça veut dire qu'il existe un problème klk part, en plus j'ai pas de sortie... !! alors que sur le dos il me génère le fichier le plus normalement du monde
    vraiment je comprends pas d'où vient le problème

  20. #20
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    autre que 0 signifie que le process s'est bien terminé mais avec erreur. Et l'erreur est dans la console normalement :/

    Quel valeur de retour a tu en console? Peut etre que gcc renvoie 1 quand tu fait qu'un préprocessing. Aussi as-tu cherché le fichier de sortie au bon endroit? Entre la console dos et le programme java, le répertoire courant n'est pas nécessairement le même.

    enfin, je viens de checker les parameteres gcc, le -B et "Resources" devraient être accolés dans une même string

Discussions similaires

  1. [LG]runtime error 202
    Par picsou123 dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2003, 22h53
  2. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  3. Runtime VC++ ou MFC
    Par Elodie_nl dans le forum MFC
    Réponses: 9
    Dernier message: 03/12/2002, 17h23
  4. Methode de drcherche a l,interieur de basse de donner texte
    Par philippe V dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 03/12/2002, 10h20
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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