背景:我正在创建一个库,允许进程使用IPC从另一个进程调用另一个函数。
每个流程都需要注册其功能:
void register_function(char* function_name,
void(*func)(),
int nb_parameters,
const int parameters_type[])
我的问题是当我需要通过IPC请求实际调用该函数时,我无法调用该函数,因为参数的数量和类型仅在运行时才知道。
我正在考虑使用动态创建的结构来调用函数,但我不确定我应该使用的参数的顺序,或者即使它是个好主意。
有什么想法吗?
答案 0 :(得分:2)
我建议你使用两个参数:
第一个参数类型:(int)。含义 - >参数数量
第二个参数类型:(void *) - >如第一个参数所示的那么多参数的列表。
就像主要的argc和argv一样。
最好的问候。