2012-01-21 3 views
-3

Мне нужно запустить некоторые коды Python и Java из моей программы на C++. Я узнал, как я могу запустить EXE-файл из моей программы. Но я не знаю, как управлять этими кодами.Как я могу выполнить программы на Java и Python из программы на C++

У меня есть Microsoft Visual C++, Codeblocks, Dev C++ и Turbo C++. Если кто-нибудь знает, как это сделать в любом из этих компиляторов, тогда скажите мне или скажите мне имя компилятора, в котором это можно сделать.

+0

Вы можете использовать командную строку для компиляции java-кода, а затем выполнить его, и то же самое для python –

+0

может и PLZ объяснить, как моя программа на C++ запускает программу java или python между ее выполнением .... –

ответ

2

Вы говорите, что вы знаете, как запустить ехе, так что запустить java.exe или python.exe с именем вашего .class или .py файла в качестве параметра.

+0

do java и python также могут делать exe-файлы, поскольку программа ac или C++ делает, когда она выполняется .... ???? потому что я слышал от кого-то, что они не делают, т. е. файлы exe coz java и python имеют свою собственную среду ..... –

+0

Java и Python обычно не превращаются в exes, хотя я знаю, что (по крайней мере для Python), там это способы сделать это. Хотя на самом деле, часто проще сделать это. – Michael0x2a

+0

может программа C++ просто запустить файл .class для java и .py-файла для python при запуске exe-файлов ??? ..... –

1

Вы можете использовать Boost Python в embed Python в своей программе на C++. В этом случае, я думаю, вам нужно включить код Python в код C++ в виде строки. Вы можете прочитать файл Python в C++-коде как строку.

Если вы не передачи информации между C++ и Python, это перебор, и вы можете использовать system как предложено GamePad64, , где вы можете просто взывать к скорлупе/зева как system("foo.py param1 param2"), или system("python foo.py param1 param2"). Вы можете найти похожие вопросы по SO путем поиска, например. «C++ python system», например Adding python script to c++ project.

+0

, если я использую этот метод .... тогда мне придется писать свой код на Python соответственно ???? я имею в виду, я думаю, что я видел на этой странице, что мне придется внести некоторые изменения в мой код ... wil я должен это сделать, или я могу просто запустить любой код python ....... –

+0

@AnkitGupta: Смотрите расширенный ответ. –

1

Вы можете использовать функцию system().

+0

мог бы уложить плз .... –

+0

Ну, вы должны прочитать [эту статью] (http://www.cplusplus.com/reference/clibrary/cstdlib/system/). Используйте 'system()' для выполнения интерпретатора вашего кода, например: 'system (" java my_java_prog.jar ");' –

Смежные вопросы