背景:我正在创建一个库,以允许进程使用 IPC 从另一个进程调用另一个函数。
每个进程都需要注册其功能:
void register_function(char* function_name,
void(*func)(),
int nb_parameters,
const int parameters_type[])
我的问题是,当我需要在通过 IPC 请求后实际调用该函数时,我无法调用该函数,因为参数的数量和类型只有在运行时才知道。
我正在考虑使用动态创建的结构来调用该函数,但我不确定应该使用的参数顺序,或者即使这是一个好主意。
有什么想法吗?
最佳答案
我建议您使用两个参数:
第一个参数类型:(int)。含义 -> 参数数量
第二个参数类型:(void*) -> 包含第一个参数所指示的多个参数的列表。
就像 main 中的 argc 和 argv 一样。
致以诚挚的问候。
关于c - 是否可以使用仅在运行时知道参数数量和类型的函数指针来调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13090626/