run_from_variable
Выполнение программы из строковой переменной.
Это удобно в случае, если требуется сформировать алгоритм действий программы по ходу выполнения.
Форма обращения:
double iret = run_cpp("run_from_variable",strint programtext,int arg1,double arg2,string arg3);
Здесь:
programtext - текст программы для выполнения.
arg1, arg2 и arg3 - аргументы, с которыми будет выполнена программа (в ней можно их считать функцией get_args)
Пример.
Сформировать текст программы и выполнить ее с параметрами 100, 111.1 и "аргумент текстовый". В окне сообщений показать результат выполнения программы.
string programtext = "int main(){ cout << \"Моя программа \"<<\"\n\"; int iarg1; double darg2; string sarg3; run_cpp(\"get_args\",iarg1, darg2, sarg3);";
programtext += "cout << iarg1 << \" ,\" << darg2 << \" ,\" << sarg3; return -1;}";
int iret = run_cpp("run_from_variable", programtext, 100, 111.1, "аргумент текстовый");
cout << "iret = " << iret << "\n";
Мы сгенерировали программу так, что по завершению она выполняет функцию return -1.
Значит iret будет содержать -1.