begin process at 2012 02 12 12:57:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

exécuter java avec prog en c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

exécuter java avec prog en c

jeudi 8 mai 2003 à 18:42:31 | exécuter java avec prog en c

Bashi

Bonjour, j'ai essayé d'utiliser un code c pour exécuter du java sous windows, je le compile avec Digital Mars. Mon fichier java est GPS.java et j'ai un main a l'intérieur, alors j'ai donné que variable de class GPS.main. Lorsque je compile il m'indique une erreur a la ligne: extraireDossierRacine (::GetCommandLine (), dossierCourant) ; a cause des 2 points, alors je les ai enlevé.
Maintenant, quand je compile cela m'indique:

link extraireDossierRacine,,,user32+kernel32/noi;
OPTLINK (R) for Win32 Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved

extraireDossierRacine.obj(extraireDossierRacine)
Error 42: Symbol Undefined _ShellExecuteA@24

--- errorlevel 1

Mon code complet est:

#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
void extraireDossierRacine (char*, char*) ;
int dernierIndexDe (char*, char) ;
void formerArguments (char*, char*) ;
char *prgmJava = "javaw.exe", //ou "java.exe" (interperteur Java)
*classePrincipale = "GPS.main";
//ICI il faut determiner la classe principale : "<package>.<classePrincipale>"
// ex : "Editeur.lancer"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow) {
char dossierCourant [100], arguments [100] ;
extraireDossierRacine (GetCommandLine (), dossierCourant) ;
formerArguments (arguments, dossierCourant) ;
ShellExecute (NULL, NULL, prgmJava, arguments, NULL, SW_SHOWNORMAL) ;
return 0 ;
}
//permet d'extraire le dossier où existe le fichier à partir de son chemin
void extraireDossierRacine (char *chemin, char *dossierRacine) {
int l = dernierIndexDe (chemin, '\\') ;
strncpy (dossierRacine, chemin, l) ;
dossierRacine [l] = '"' ;
dossierRacine [l + 1] = '\0' ;
}
//renvoie la dernière position d'un caractere dans une chaine
int dernierIndexDe (char *chaine, char c) {
for (int i = strlen (chaine); i > 0; i--)
if (chaine [i] == c)
return i ;
return -1 ;
}
//forme la liste des arguments : "-cp <dossierCourant> <classePrincipale>"
void formerArguments (char *arguments, char *dossierCourant) {
strcpy (arguments, "-cp ") ;
strcat (arguments, dossierCourant) ;
strcat (arguments, " ") ;
strcat (arguments, classePrincipale) ;
}


Est-ce que quelqu'un peut m'aider à le faire marcher?
Merci
jeudi 8 mai 2003 à 19:50:04 | Re : exécuter java avec prog en c

Kaid

La fonction ShellExecute() ne se trouve ni dans les fonctions Kernel ni dans les fonctions User. Link ton programme avec la librairie shell32.lib.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Bonjour, j'ai essayé d'utiliser un code c pour exécuter du java sous windows, je le compile avec Digital Mars. Mon fichier java est GPS.java et j'ai un main a l'intérieur, alors j'ai donné que variable de class GPS.main. Lorsque je compile il m'indique une erreur a la ligne: extraireDossierRacine (::GetCommandLine (), dossierCourant) ; a cause des 2 points, alors je les ai enlevé.
> Maintenant, quand je compile cela m'indique:
>
> link extraireDossierRacine,,,user32+kernel32/noi;
> OPTLINK (R) for Win32 Release 7.50B1
> Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved
>
> extraireDossierRacine.obj(extraireDossierRacine)
> Error 42: Symbol Undefined _ShellExecuteA@24
>
> --- errorlevel 1
>
> Mon code complet est:
>
> #include <windows.h>
> #include <stdlib.h>
> #include <stdio.h>
> void extraireDossierRacine (char*, char*) ;
> int dernierIndexDe (char*, char) ;
> void formerArguments (char*, char*) ;
> char *prgmJava = "javaw.exe", //ou "java.exe" (interperteur Java)
> *classePrincipale = "GPS.main";
> //ICI il faut determiner la classe principale : "<package>.<classePrincipale>"
> // ex : "Editeur.lancer"
> int APIENTRY WinMain(HINSTANCE hInstance,
> HINSTANCE hPrevInstance,
> LPSTR lpCmdLine,
> int nCmdShow) {
> char dossierCourant [100], arguments [100] ;
> extraireDossierRacine (GetCommandLine (), dossierCourant) ;
> formerArguments (arguments, dossierCourant) ;
> ShellExecute (NULL, NULL, prgmJava, arguments, NULL, SW_SHOWNORMAL) ;
> return 0 ;
> }
> //permet d'extraire le dossier où existe le fichier à partir de son chemin
> void extraireDossierRacine (char *chemin, char *dossierRacine) {
> int l = dernierIndexDe (chemin, '\\') ;
> strncpy (dossierRacine, chemin, l) ;
> dossierRacine [l] = '"' ;
> dossierRacine [l + 1] = '\0' ;
> }
> //renvoie la dernière position d'un caractere dans une chaine
> int dernierIndexDe (char *chaine, char c) {
> for (int i = strlen (chaine); i > 0; i--)
> if (chaine [i] == c)
> return i ;
> return -1 ;
> }
> //forme la liste des arguments : "-cp <dossierCourant> <classePrincipale>"
> void formerArguments (char *arguments, char *dossierCourant) {
> strcpy (arguments, "-cp ") ;
> strcat (arguments, dossierCourant) ;
> strcat (arguments, " ") ;
> strcat (arguments, classePrincipale) ;
> }
>
>
> Est-ce que quelqu'un peut m'aider à le faire marcher?
> Merci
lundi 12 mai 2003 à 00:37:12 | Re : exécuter java avec prog en c

CoreBreaker

Honêtement le mieux est d'instancier une machine virtuelle java anec JNI.

Core Breaker

samedi 17 décembre 2005 à 07:00:04 | Re : exécuter java avec prog en c

matrez

j'ai le meme pb avec ShellExecute :(
samedi 17 décembre 2005 à 07:13:05 | Re : exécuter java avec prog en c

matrez

http://www.dprogramming.com/linkdef.php


Cette discussion est classée dans : java, char, arguments, dossiercourant, extrairedossierracine


Répondre à ce message

Sujets en rapport avec ce message

char**, pointeur et fonction [ par psykocrash ] Salut,Je bosse sur un petit programme et je butte sur un problème de pointeurs. Voici le code source qui pose problème :--------------------#include # Utilisation des arguments int argc et char *argv[] [ par christophedlr ] Bonjour à tous,Je voudrais savoir comment faire pour tester si un argument de la ligne de commande est par exemple --help pour afficher l'aide par exe listes chainées [ par tony_77 ] bonjour,J'ai un projet à faire en C++, je suis débutant.J'ai choisi d'utiliser une liste chainée que je sauvegarde ds un fichier .txt.Il faut donc que URGENT : pb de conexion avec mysql_real_connect [ par Stephworlds ] salut a tousC'est éxtrémement urgent.Je doit me connecter sur une base de donées distante. Mon programme compile. Mais lorsque je lance l'appli la con Problème de char et dans une struct [ par yggy ] dans ce code : il me dit une erreur après le char dbmdp[7][5] je vois pas mon erreur!ai-je fait quelque chose de faux?struct ServerTest1{   char dbmdp Allocation memoire : malloc ou pas malloc dans ce cas ci ... [ par AsM0DeUz ] Bonjour,Je voudrais remplir un tableau avec le contenu d'un fichier texte avec le code ci-dessous : #define MaxBoardSize 10int main(){    char boa Serialisation ou Marshalling [ par cecile3147 ] Bonjour,Je doit réaliser un projet en C dans lequel je dois marshaller les arguments se situant dans le paquet avant de l'envoyer au server.Je dois co votre avis sur une fonction de split... [ par Matt67 ] Bonsoir,Je dois faire une fonction de "splitage" de chaine. J'ai realisé ce bout de code et j'aimerais votre avis. La fonction n'est pas tout a fait f !!! Pb d'allocation mémoire !!! [ par yoyo269 ] Bonjour à tous !Comme le titre l'indique, j'ai un petit souci avec l'allocation de mémoire.En fait j'ai un char*, auquel j'applique un malloc. Ensuite Conversion de char en int ? [ par jnbrunet ] Salut,Je débute en c++... dans mon programme j'aimerai additionner les valeurs entrées en argument dans le main (argv). Le problème est que la variabl


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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,936 sec (4)

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