2012-06-03 3 views
1

Я хочу вызвать исполняемый файл C++ из java-программы. Но после того, как я это назвал, ничего не происходит. Затем, после закрытия программы, появляется окно с ошибкой, в котором говорится о ненормальном завершении программы.ошибка вызова C++ из java-программы

код выглядит следующим образом:

try { 
      Runtime rt = Runtime.getRuntime(); 
      Process p = rt.exec("discretize.exe"); 


     } catch (Exception exc) {/*handle exception*/ 
      exc.printStackTrace(); 
     } 

и ошибки окна, которое появляется выглядеть следующим образом:

http://dc532.4shared.com/img/8e2-xhaG/debug.PNG

+1

вам нужно указать путь к вашему exe. –

ответ

1

Наконец-то я нашел ответ.

Проблема была в командной строке не отображалась. Таким образом, после поиска Google, я нашел совет, который предложил мне просто поставить:

CMD/C начать

до пути к файлу. . Таким образом, я изменил мой код, чтобы выглядеть следующим образом:

Процесс myProcess = Runtime.getRuntime() Exec ("CMD/C начать D: \ A_TA \ KODINGAN \ TA \ SRC \ discretize.exe");

.. и voila, отображается приглашение командной строки!

0

Я хотел бы попробовать сделать это ниже, как найти с этого сайта: http://www.boards.ie/vbulletin/showthread.php?t=218960

Пример:

Process myProcess = Runtime.getRuntime().exec("path to exe"); 
+0

Да, я немного меняю свой код. Я добавляю путь, поэтому мой код выглядит так: Процесс myProcess = Runtime.getRuntime(). Exec ("D: \\ A_TA \\ KODINGAN COBA2 \\ sabtu, 24-02-2012 \\ TA \\ src \\ MLC21NT-С \\ discretize.exe "); но все же, он ничего не делает. и после закрытия java-программы окно ошибки все еще появляется. Ошибка была из java или из C++? –

+0

Зависит, я бы попробовал скомпилировать код на C++ и запустить его сначала на C++, если он работает тогда. Если он работает, перейдите на Java. Я смотрю на ваш код, чтобы запустить его, и это кажется прекрасным. – user1283885

+0

, но я получил исполняемый файл с веб-сайта, и у меня нет источников для компиляции. если я выполняю его не из java-программы, он отлично работает –