Visual Studio の 1 つのソリューションにC++ プロジェクトと Python プロジェクトがあります。C++ プロジェクトは複雑で完成しているため、変更するのは気が進まない。もう触れたくない。したがって、それらを統合するために、私はその逆ではなく、Python で C++ プロジェクトを呼び出すことにしました。
パラメータをPythonからに渡したい
int main(int argc, char** argv)
C++ プロジェクトの。
どうすればいいですか?
の引数main()
は、プログラムのコマンド ライン引数です。たとえば、Python でこれを行うと、次のようになります。
subprocess.Popen(['myCppprogram.exe', 'foo', 'bar'], ...)
次に、以下が保持されmain()
ます。
int main(int argc, char** argv)
{
assert(argc == 3);
assert(argv[1] == std::string("foo");
assert(argv[2] == std::string("bar");
}
あなたの質問から私が理解したことによると、Python から .exe ファイルを呼び出し、引数を C++ ファイルに渡したいと考えています。
import subprocess
program = 'path to your exe file'
argument = "0"
subprocess.call([program, argument])
これにより、Python から .exe が実行され、渡された引数は C++ main で配列 argv のメンバーとして読み取ることができます。