1

株式市場をシミュレートするプロジェクトに取り組んでいます。人々は株式を売買します。私は各ターンをスクリプトと呼び、市場に対する戦略を試みたいと思います。

私が欲しいのは、整数のベクトルを引数として 3 つの整数の配列を返す vba または python スクリプトに送信する C++ の関数です。

解決策を探しましたが、Pythonでスクリプトを実行する方法しか見つかりませんでしたが、このスクリプトから引数を送信および取得する方法がわかりません。私の問題は一般的だと思いますが、解決策を見つけるためにどこに向かうべきかわかりません。

ありがとうございました!

(私は英語のネイティブ スピーカーではないので、文法エラーがあった場合は申し訳ありません)

4

3 に答える 3

1

Windows では、関数CreateProcess()を使用して別のプログラムを起動します。Python インタープリターのフル パスを最初の引数として使用します。Python スクリプトへのパスで 2 番目の引数を開始します。

ベクトルを表す文字列を 32768 文字に収めることができる場合は、CreateProcess の 2 番目の引数にベクトルを指定できます。

より柔軟なオプションは、ここに示すように、リダイレクトされた入力と出力を持つ子プロセスを作成することです。次に、ベクトルを python プロセスの標準入力に書き込み、その標準出力から答えを読み取ることができます。

于 2012-12-27T12:49:42.883 に答える
0

Boost.Pythonを使用します。アプリにPythonを埋め込むのに役立ちます。

于 2012-12-27T13:48:04.253 に答える
0

これを行うには多くの方法があります。

私が行う方法は、「スクリプト」をpopen()することです [これは、「python myscript.py -arg1 -arg2」のようなものになります]。ベクトルの大きさに応じて、ファイルに保存するか、引数の一部として渡すことができます [Windows では、引数文字列に 8KB などの制限があります]。

出力は popen() のパイプからの結果として表示されます。

于 2012-12-27T12:33:48.263 に答える