c++ - 在 C++ 应用程序中添加脚本

标签 c++ python vba embedding

我正在从事一个模拟股票市场的项目。人们买入和卖出一只股票,我想将每轮都称为脚本,以尝试针对市场的策略。

我想要的是 C++ 中的一个函数,它将一个整数 vector 作为参数发送给一个 vba 或 python 脚本,该脚本返回一个包含 3 个整数的数组。

我已经搜索了一个解决方案,但我只能找到一种在 python 中执行脚本的方法,但我不知道如何从该脚本发送和获取参数。 我认为我的问题很常见,但我不知道去哪里寻找解决方案。

谢谢!

(我的母语不是英语,如果我犯了语法错误,请见谅)

最佳答案

在 Windows 上,您使用函数 CreateProcess()启动另一个程序。使用 python 解释器的完整路径作为第一个参数。以 python 脚本的路径开始第二个参数。

如果您可以在 32768 个字符中容纳表示 vector 的字符串,则可以在 CreateProcess 的第二个参数中提供该 vector 。

一个更灵活的选择是创建一个带有重定向输入和输出的子进程,如图所示here .然后,您可以将该 vector 写入 python 进程的标准输入,并从其标准输出中读回答案。

关于c++ - 在 C++ 应用程序中添加脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054297/

相关文章:

C++:带状态的回调函数

c++ - 使用 C++ 服务器制作 Websocket

python - 为什么我在日期时间列表上使用 numpy.searchsorted 没有获得比 bisect.bisect_left 更好的性能?

vba - 将 ComboBox 作为参数传递

c++ - 在 MSVC C++ DLL 中导出模板化类的模板化成员函数

c++ - PHP-CPP C++ 扩展找不到正则表达式

python - 通过适用于 Python 的 MATLAB API 时方矩阵展平为行向量

python - 为什么我不能在迭代另一个字典时修改一个字典(获取更改大小错误)?

arrays - 将单独的范围放入二维数组中

vba - 如果 B 列和 C 列均为空白,Excel VBA 删除整行