Я работаю над проектом, имитирующим фондовый рынок. Люди покупают и продают акции, и я бы хотел, чтобы каждый ход называл сценарий, чтобы опробовать стратегию против рынка.
Что я хочу, так это функция в C ++, которая отправляет вектор целого числа в качестве аргумента скрипту vba или python, который возвращает массив из 3 целых чисел.
Я искал решение, но все, что я мог найти, это способ выполнения скрипта на python, но я не знаю, как я могу отправить и получить аргумент из этого скрипта.
Я думаю, что моя проблема распространена, но я не знаю, куда идти, чтобы найти решение.
Спасибо!
(Я не являюсь носителем английского языка, так что извините, если я сделал грамматическую ошибку)
На окнах вы используете функцию CreateProcess()
запустить другую программу. Используйте полный путь интерпретатора Python в качестве первого аргумента. Начните второй аргумент с пути к скрипту Python.
Если вы можете уместить строку, представляющую ваш вектор, в 32768 символов, вы можете указать вектор во втором аргументе CreateProcess.
Более гибкий вариант — создать дочерний процесс с перенаправленными входами и выходами, как показано Вот. Затем вы можете записать вектор на стандартный ввод процесса python и прочитать ответ обратно из стандартного вывода.
Есть много способов сделать это.
Я бы сделал так, чтобы POPEN () ваш «скрипт» [который будет что-то вроде «python myscript.py -arg1 -arg2»]. В зависимости от того, насколько велик ваш вектор, вы можете либо сохранить его в файле, либо передать его как часть аргументов [в Windows существует ограничение, например, 8 КБ для строки аргумента].
Выходные данные будут отображаться как результат канала popen ().
использование Boost.Python. Это поможет вам встроить Python в ваше приложение.