1

在 Visual Studio 的一个解决方案下有一个 C++ 项目和一个 Python 项目。我不愿意修改 C++ 项目,因为它很复杂,现在已经完成。我不想再碰它了。所以为了整合它们,我选择在 Python 中调用 C++ 项目,而不是相反。

我希望将参数从 Python 传递到

int main(int argc, char** argv)

C++ 项目。

我该怎么做?

4

2 回答 2

4

的参数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");
}
于 2013-10-07T09:26:16.150 回答
1

根据我从你的问题中了解到的,你想从 python 调用一个 .exe 文件并将参数传递给 C++ 文件。

import subprocess

program = 'path to your exe file'  
argument = "0"

subprocess.call([program, argument])

这将从 python 执行 .exe,并且传递的参数可以在 C++ main 中作为数组 argv 的成员读取。

于 2013-10-07T10:04:05.277 回答