这在C语言中如何实现?举例吧,下面的cre_fun函数该怎么实现?其中"return 100;"是动态创建的函数中的语句void cre_fun(void* fn,char* fn_str){}void main(){int fn();cre_fun(fn,"return 100;");printf("%d\n",fn());}void cre_fun(void* fn,char* fn_str){}中fn指向动态创建的函数,fn_str为动态创建的函数中的语句
2 回答
倚天杖
TA贡献1828条经验 获得超3个赞
C语言可以通过宏,在你需要的位置宏展开出一个新的函数。
例如:
#define XXX(funcname) \
int funcname (int arg1, int arg2) \
{ return arg1 + arg2; }
但这也是编译期就决定好了的,也不能实现运行期动态创建。
不负相思意
TA贡献1777条经验 获得超10个赞
不好意思,我对js不太熟悉,但是大概理解你的意思,有个问题,你觉得js是万能的吗?也就是说难道你在js里面就能用类似cre_fun(void* fn,char* fn_str)的语法来实现创建【任何】函数么?如果不是,那就说明有语法规则,给定相似的语法规则,c语言来做又有何难,大不了用词法分析之类。
- 2 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消