0

背景:我正在创建一个库以允许进程使用 IPC 从另一个进程调用另一个函数。

每个进程都需要注册其功能:

void register_function(char* function_name, 
                       void(*func)(), 
                       int nb_parameters, 
                       const int parameters_type[])

我的问题是当我需要在通过 IPC 请求后实际调用该函数时,我无法调用该函数,因为参数的数量和类型仅在运行时才知道。

我正在考虑使用动态创建的结构来调用该函数,但我不确定我应该使用的参数的顺序,或者即使这是一个好主意。

任何想法 ?

4

1 回答 1

2

我建议你使用两个论点:

第一个参数类型:(int)。含义 -> 参数数量

第二个参数类型:(void*) -> 列表,其中包含第一个参数所指示的那么多参数。

就像 main 中的 argc 和 argv 一样。

此致。

于 2012-10-26T16:30:20.780 回答