小编mat*_*atg的帖子

C - 没有函数指针的动态函数调用

我想动态地调用C函数(例如,形成stdlib,math ...).这意味着我的C程序只知道指向随机函数(例如printf)及其签名(编码为char数组:char *,...)的指针.

我的目标是一个reflectCall函数,它获取一个指向函数(&printf)的签名,一个签名(以某种方式编码在a中char[]),参数作为一个long[](long不是实际的数据类型,一个long值也可以表示一个double值,指针, ...).

因此,我的反射函数的签名如下所示:

long reflectCall(void *funcPointer, char[] types, long[] args)
Run Code Online (Sandbox Code Playgroud)

该函数应该对函数进行实际调用,*funcPointer最后返回其结果.

结果,我无法创建指针指针; 比如这个:

int (*functionPtr)(int,int);
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我一个提示如何解决这个问题或建议任何参考实现?

c pointers function dynamic call

3
推荐指数
2
解决办法
4244
查看次数

标签 统计

c ×1

call ×1

dynamic ×1

function ×1

pointers ×1