int run_cpp(string directive, ...)
Осуществляет запуск другого скрипта из текущего.
При помощи этих функций можно создавать "на лету" скрипты любой сложности, а так же запускать с различными исходными значениями аргументов;
После выполнения другого скрипта выполнение текущего продолжается.
Возвращает значение, которое выдал запущенный скрипт в команде return (напримен 0, если это был return 0;).
Текст скрипта для выполнения можно создать непосредственно во время выполнения текущего скрипта и записать в переменную типа stging.
Затем его можно запустить на выполнение прямо из этой переменной.
При запуске можно пользоваться входящими параметрами - целое число, вещественное число и строка.
Директивы и их значения перечислены ниже.
run_from_file | запустить на выполнение текст скрипта из файла с аргументами | |
run_from_variable | запустить на выполнение текст скрипта из строковой переменной, с аргументами | |
get_args | получить аргументы, которые задавались при запуске скрипта |
run_from_file
Формат команды:
int run_cpp("run_from_file", string filepath);
или
int run_cpp("run_from_file", string filepath, int iArg1, double dArg2, string sArg3);
Запускается скрипт из файла filepath (указывается полный путь к файлу).
Для выполнения файла задаются аргументы iArg1, dArg2, sArg3.
Значения аргументов можно получить в ходе выполнения файла.
Пример. Запустить скрипт на выполнение из файла my_prg_script.cpp, находящегося в каталоге "C:":
string filepath = "C:\\my_prg_script.cpp";
int ivariant=2;
int res = run_cpp("run_from_file",filepath,ivariant,0,"");
run_from_variable
Формат команды:
int run_cpp("run_from_variable", string script_text);
или
int run_cpp("run_from_variable", string script_text, int iArg1, double dArg2, string sArg3);
Запускается скрипт, который находится в строковой переменной script_text.
Для выполнения файла задаются аргументы iArg1, dArg2, sArg3.
Значения аргументов можно получить в ходе выполнения скрипта из строки.
Пример. Создать текст программы в строковой переменной my_script_variable и запустить его на выполнение.
string my_script_variable = "int main(){";
my_script_variable += "cout << \"Выполняется программа из этой строки\"";
my_script_variable += "}";
int res = run_cpp("run_from_variable",my_script_variable,0,0,"");
get_args
Формат команды:
int run_cpp("get_args", int &iArg1, double &dArg2, string &sArg3);
В ходе выполнения скрипта считывает значения аргументов, заданных при его запуске директивами run_from....
Пример. Получить аргументы, заданные при запуске скрипта в переменные и вывести их значения в окно сообщений.
iint iArg1;
double dArg2;
string sArg3;
int res = run_cpp("get_args",iArg1,dArg2,sArg3);
cout << iArg1 << " ," << dArg2 << " ," << dArg3 ;