Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C++;应用_C++_Python_Vba_Embedding - Fatal编程技术网

C++ 在C++;应用

C++ 在C++;应用,c++,python,vba,embedding,C++,Python,Vba,Embedding,我正在做一个模拟股票市场的项目。人们买卖一只股票,我想把每一轮都称为一个脚本,以尝试针对市场的策略 我想要的是C++中的函数,它将一个整数向量作为参数传递给一个VBA或Python脚本,它返回一个3个整数数组。 我已经搜索了一个解决方案,但我能找到的只是一种用python执行脚本的方法,但我不知道如何从这个脚本发送和获取参数。 我认为我的问题很常见,但我不知道该去哪里寻找解决方案 谢谢大家! (我不是以英语为母语的人,如果我犯了语法错误,非常抱歉)有很多方法可以做到这一点 我会这样做的方式是对您

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

我想要的是C++中的函数,它将一个整数向量作为参数传递给一个VBA或Python脚本,它返回一个3个整数数组。 我已经搜索了一个解决方案,但我能找到的只是一种用python执行脚本的方法,但我不知道如何从这个脚本发送和获取参数。 我认为我的问题很常见,但我不知道该去哪里寻找解决方案

谢谢大家!


(我不是以英语为母语的人,如果我犯了语法错误,非常抱歉)

有很多方法可以做到这一点

我会这样做的方式是对您的“脚本”[类似于“python myscript.py-arg1-arg2”]。根据向量的大小,可以将其存储在文件中,也可以将其作为参数的一部分传递[在Windows中,参数字符串的大小限制为8KB]


然后,输出将显示为popen()管道的结果

有很多方法可以做到这一点

我会这样做的方式是对您的“脚本”[类似于“python myscript.py-arg1-arg2”]。根据向量的大小,可以将其存储在文件中,也可以将其作为参数的一部分传递[在Windows中,参数字符串的大小限制为8KB]


然后,输出将显示为popen()管道的结果

在windows上,您可以使用该功能启动另一个程序。使用python解释器的完整路径作为第一个参数。用python脚本的路径启动第二个参数

如果可以用32768个字符拟合表示向量的字符串,则可以在第二个参数中向CreateProcess提供向量


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

在windows上,您可以使用该函数启动另一个程序。使用python解释器的完整路径作为第一个参数。用python脚本的路径启动第二个参数

如果可以用32768个字符拟合表示向量的字符串,则可以在第二个参数中向CreateProcess提供向量


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

使用。它将帮助您在应用程序中嵌入python。

使用。它将帮助你在你的应用程序中嵌入python。

@BartekBanachewicz IIRC多年来都没有这样叫过它-它是
Boost。python
现在…从另一个进程获取向量需要某种IPC(进程间通信),这通常是特定于平台的,所以你需要指定哪个操作系统。但是,最好只使用一种语言和一个程序来编写全部内容。@cdarke它是为在windows 7上工作而设计的,但是我可以使用传统的数组而不是向量,如果您不必使用python或vba,使用lua或chaiscript,这些事情相当容易。@BartekBanachewicz IIRC多年来都没有这样叫过它-它现在是
Boost.Python
了…从另一个进程取回一个向量需要某种IPC(进程间通信),这通常是特定于平台的,所以您需要指定哪个操作系统。不过,最好只使用一种语言和一个程序来编写全部内容。@cdarke它是为在windows 7上工作而设计的,但我可以使用传统的数组而不是向量。如果您不必使用python或vba,那么使用lua或chaiscript就相当容易了。