vak: (Default)
[personal profile] vak
Наверное вы знаете, что в юниксе есть такой системный вызов execv(), который выполняет нужный файл с произвольным списком параметров. Вот таким макаром:
int execv(const char *path, char *const argv[]);
А мне нужно нечто похожее, но чтобы вызвать функцию (по указателю) с произвольным списком аргументов. Что-то вроде:
void call(void (*func)(...), int *argv[]);
Функция определена где-то как обрабатывающая фиксированный набор параметров. К примеру, это может быть:
void add(int *a, int *b, int *c)
{
*c = *a + *b;
}
У меня есть указатель на функцию, и массив параметров, количество которых заранее не фиксировано. Хотелось бы вызвать некую функцию call(), которая бы положила нужные параметры на стек и вызвала функцию:
call(func, argv);
Может такое есть уже где-то, а я просто не в курсе?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org