2017-01-11 4 views
0

私はPy_Mainを呼び出してPythonに入るC++プログラムを持っています。今私はPy_Mainの中でいくつかのコマンドを実行したいと思いますが、それをどのように渡すかを理解できないようです。Py_Mainインポートモジュールを作成する

私は、Py_MainPy_Initializeを呼び出すのを見ましたので、まったく可能かどうか分かりません。

EDIT:

私は現在、実行しよう:

Py_Initialize(); 
PyImport_ImportModule("myfoo"); 

Py_Main(argc, argv); 

そしてPy_Mainで利用myfooないを持っています。私はできるだけimport myfooすることができます。

+0

Pythonを組み込んでいる場合は、適切な 'C-API'関数を使って文を実行します。これは' PyRun_SimpleString'などと呼ばれ、今思い出すことはできません。 –

答えて

1

PythonでC/C++から単純なコマンドを実行する必要がある場合は、実行するコマンドを含むconst* charを受け取るPyRun_SimpleString関数を使用する必要があります。

PyRun_SimpleStringを呼び出す前に、Py_Mainを入力する必要はありません。プログラム名を設定し、Py_InitializeでPythonを初期化するだけです。モジュールをインポートして使用する必要がある場合は、PyImport_Importを使用できます。

+0

そのため、PyImport_ImportModule( "myfoo")がうまくいかず、PyRun_SimpleString( "import myfoo") 'did! – abergmeier

関連する問題