begin process at 2010 03 20 18:01:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > UTILITAIRE DE COMPILATION JAVA (C - DEVCPP)

UTILITAIRE DE COMPILATION JAVA (C - DEVCPP)


 Information sur la source

Note :
3,8 / 10 - par 5 personnes
3,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :09/04/2004 Vu / téléchargé :6 330 / 378

Auteur : BlackWizzard

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


 Description

Je sais pas vous, mais personnelement, g rien trouvé de gratos et de fonctionnel pour compiler et tester mes codes java. Et les lignes de commande
c:\> javac hello.java
c:\> java hello.class
ça commence a me gaver...

Donc, j'ai decidé de me faire un utilitaire minimaliste mais fonctionnel qui me compile et e lance mon programme java ainsi compilé, et ce, en une seul operation.

Donc, c tres imple, je prend mon fichier java, je le glisse sur l'executable, et il me le compile (commande "javac"), puis l'execute (commande "java")!

voici le code:

Source

  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <string.h>
  • main (int argc, char **argv) {
  • int i = 0;
  • char commande_javac[255];
  • char commande_java[255];
  • char commande_java2[255];
  • printf("Compiling java file...\n");
  • strcpy (commande_javac,"C:\\j2sdk1.4.2_04\\bin\\javac.exe \"");
  • strcat (commande_javac, argv[1]);
  • strcat (commande_javac, "\"");
  • system(commande_javac);
  • printf("file compiled!\nLaunching Class file...\n");
  • strcpy (commande_java,"");
  • strcat (commande_java, "C:\\j2sdk1.4.2_04\\bin\\java.exe \"");
  • strcat (commande_java, argv[1]);
  • strncpy(commande_java2, commande_java, strlen(commande_java)-4);
  • strcat (commande_java2, "class\"");
  • system(commande_java2);
  • getchar();
  • }
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

main (int argc, char **argv) {
int i = 0;
char commande_javac[255];
char commande_java[255];
char commande_java2[255];

printf("Compiling java file...\n");
strcpy (commande_javac,"C:\\j2sdk1.4.2_04\\bin\\javac.exe \"");
strcat (commande_javac, argv[1]);
strcat (commande_javac, "\"");
system(commande_javac);
printf("file compiled!\nLaunching Class file...\n");
strcpy (commande_java,"");
strcat (commande_java, "C:\\j2sdk1.4.2_04\\bin\\java.exe \"");
strcat (commande_java, argv[1]);
strncpy(commande_java2, commande_java, strlen(commande_java)-4); 
strcat (commande_java2, "class\"");
system(commande_java2);
getchar();  
}


 Conclusion

J'anticipe certaines questions et remarques...
- Oui, en effet, ce n'est pas du code super optimisé... mais ça fonctionne, c ce qui compte.
- a koi ça sert? c'est ecrit plus haut... (yen a tjour un pour poser cette question)
- le but pedagogique? Manipulation des chaines de caractere, de la commande system()... c pas super complet, mais bon, les bases sont là!
- le but pratique? aider les pauvres debutants en java qui ne trouvent pas d'ide, ou n'en veulent pas...
- "ça fonctionne pas" -> Il faut adapter le code, modifiez les lignes:
strcpy (commande_javac,"C:\\j2sdk1.4.2_04\\bin\\javac.exe \"");
et
strcat (commande_java, "C:\\j2sdk1.4.2_04\\bin\\java.exe \"");
Et configurez le chemin d'acces a ces 2 executables, selon votre installation du sdk java. Vous le trouverez sur http://java.sun.com et c'est gratuit.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   javac
    • javac.devTélécharger ce fichier [Réservé aux membres club]791 octets
    • javac.exeTélécharger ce fichier [Réservé aux membres club]24 606 octets
    • main.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier712 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip ..:: IP CRYPTER ::..
RECUPERER ET AFFICHER LES ARGUMENTS PASSÉS AU PROGRAMME [GCC...
Source avec Zip BLACKVADOR :: MSIE MUST DIE!!!
Source avec Zip 16 FONCTIONS GRAPHICS DE RETOUCHE D'IMAGE DANS UNE DLL (VC++...
Source avec Zip BCRYPT :: DLL D'ENCRYPTAGE SIMPLE 2 CLÉES (VC++)

 Sources de la même categorie

Source avec une capture POWER MATH: TESTE DE VITESSE ENTIERS VS REELS , CLASS VS STR... par dedalusman
Source avec Zip PARSER XML par MagnumPP
[C BZLIB] LIRE ET ÉCRIRE UN FICHIER COMPRESSÉ par Zestyr
Source avec Zip Source avec une capture BOT DE CLIC (SIMULATION DE CLIC PARAMÈTRABLE) par jojo930
Source avec Zip Source avec une capture [C++] GENERATEUR DE PSEUDO par Miwik

Commentaires et avis

Commentaire de Helkanen le 09/04/2004 01:32:21

tiens c marrant ça... je viens juste de faire exactement la meme chose (plus élaboré quand meme) pour QT vers VC++ (avec compilation et exécution aussi)...

Commentaire de Kaid le 09/04/2004 09:24:55

Pour faire ce genre de choses, un fichier .BAT (Windows) ou un shell script (Un*x), aurait largement fait l'affaire.

Commentaire de BlackWizzard le 09/04/2004 12:19:58 administrateur CS

avec un batch, tu px lui passer aussi le fichier en argument (en drag'n'drop) et donc compiler, mais le batch ne permet pas de remplacer l'extention .java par .class, du moins, je ne connai pas de fonction batch pour faire ça...
et puis, c aussi une raisopn de me remettre doucement au C...

Pour Helkanen&gt; je n'ai pas besoin de plus elaboré ;)
le plus simple est le mieux... :p

Commentaire de ccarniel le 10/04/2004 08:55:14

j'ai l'impression que ta recherche a été assez courte, parce que des IDE gratos y en a en veux tu en voila pour java (exemple: http://www.eclipse.org/ )

Sinon " mais ça fonctionne, c ce qui compte."... Euh, en cas d'erreur de compilation tu exécutes derrière la dernière bonne compilation, au risque de masquer les erreurs et de ne pas le voir.
system() retourne un int correspondant au code exit() du processus appelé.   Regarde un peu la doc de java, mais à mon avis c'est certainement 0 en cas de succès, et toute autre valeur indiquant une erreur.

ensuite, un batch ou shell unix eut été plus approprié pour ce genre de besoins. Concernant la substitution du .java en .class, il faut regarder du  coté de l'excellent 4NT (ou 4DOS), qui n'est malheureusement pas gratuit. Bien sur pour faire du C, c'est pas le mieux. Pourquoi ne pas l'avoir fait en Java ?

Je me demande tout de même quel est l'intérêt de poster des bouts de code comme ceux là.
Je suis déjà plus intéressé par celui d'Helkanen. :)


Commentaire de juli1m le 03/05/2004 16:24:54

Salut à toi Infos,

je ne doute pas de l'utilité de ta source, cependant, si tu cherche quelque chose qui fait ce que ton pgme fait, et même plus (compilateur, "executeur", et même éditeur), je te conseille JCreator, ils en sont à la version 3, tu peux avoir une version freeware.

c'est comme dev-cpp, mais pour java, tu as justa besoin d'avoir un jdk déjà installé.

sinon, c'est cool d'avoir pensé à ça.

Commentaire de Light Angel le 18/07/2004 12:36:04

Pour ce qui veulent faire un IDE de je sais pas trop koi et qui veulent récupèrer les éventuel erreur qu'un compilateur pourrait trouver, ya une fnction ki sapel popen() qui retourne une chaine de caractère correspondantes au résultat d'un programme en mode texte. Cherchez sur le web, vous trouverez surement des explication meilleurs que la mienne

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales