2011-07-07 5 views
0

Je vous en serais reconnaissant si vous pouviez aider à ceC++ Java (OpenMP)

En fait ce que je dois faire est de trouver la meilleure façon de charger un fichier cpp par java. En plus, j'ai un programme écrit en C++ (openmp) et j'ai besoin d'écrire un Java Gui qui va exécuter ce fichier avec d'autres tâches.

Quel est le moyen le plus efficace et le plus facile de faire cela? Avez-vous des livres en ligne, ou des recommandations pour cela?

Aussi pourrait-il être fait par xml? Je veux dire avoir la structure xml et charger le fichier gui de java, puis le .cpp? Comment cela pourrait-il fonctionner?

Merci

+1

Qu'entendez-vous par "charger un fichier cpp"? Je suppose que vous ne parlez pas simplement de lire le contenu du fichier dans une chaîne? – jalf

Répondre

0

Jetez un oeil à Runtime.getRuntime().exec(String);. Cette méthode appelle une autre application. Voici quelques exemples d'utilisation:

public void runBtnActionPerformed(ActionEvent evt) 
{ 
    try { 
     Process p = Runtime.getRuntime().exec("./mycppapp"); // or for Windows "mycppapp.exe" 
     BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     String line = null; 
     while ((line = br.readLine()) != null) 
     { 
      System.out.println(line); 
     } 
    } catch (Exception e) 
    { 
     // handle here 
    } 
} 

Assurez-vous d'avoir compilé votre application C++. Il est impossible d'exécuter le code sans compilation. Vous pouvez essayer de compiler le C++ par Java, en utilisant la même méthode:

int success = Runtime.getRuntime().exec(new String[]{"g++", "mycode.cpp"}).waitFor(); 
+0

Si j'ai bien compris, cette méthode charge un fichier .exe (compilé). Cela pourrait être une solution, mais que faire si je veux utiliser certaines méthodes dans le fichier C++ de Java? – Sotiris

+0

Jetez un coup d'oeil à ceci: http://jovial.com/javaAndCpp/java_and_cpp.html Si cela ne fonctionne pas pour vous, alors vous pouvez très bien devoir compiler chacune de ces méthodes dans des fichiers exécutables séparés ou tourner votre C++ application dans un moniteur de sortes, qui écoute des messages, puis prend une action de base sur le message reçu (s). Le premier est probablement le moyen le plus facile d'aller. –