這在C語(yǔ)言中如何實(shí)現(xiàn)?舉例吧,下面的cre_fun函數(shù)該怎么實(shí)現(xiàn)?其中"return 100;"是動(dòng)態(tài)創(chuàng)建的函數(shù)中的語(yǔ)句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指向動(dòng)態(tài)創(chuàng)建的函數(shù),fn_str為動(dòng)態(tài)創(chuàng)建的函數(shù)中的語(yǔ)句
2 回答

倚天杖
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
C語(yǔ)言可以通過宏,在你需要的位置宏展開出一個(gè)新的函數(shù)。
例如:
#define XXX(funcname) \
int funcname (int arg1, int arg2) \
{ return arg1 + arg2; }
但這也是編譯期就決定好了的,也不能實(shí)現(xiàn)運(yùn)行期動(dòng)態(tài)創(chuàng)建。

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
不好意思,我對(duì)js不太熟悉,但是大概理解你的意思,有個(gè)問題,你覺得js是萬能的嗎?也就是說難道你在js里面就能用類似cre_fun(void* fn,char* fn_str)的語(yǔ)法來實(shí)現(xiàn)創(chuàng)建【任何】函數(shù)么?如果不是,那就說明有語(yǔ)法規(guī)則,給定相似的語(yǔ)法規(guī)則,c語(yǔ)言來做又有何難,大不了用詞法分析之類。
- 2 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報(bào)
0/150
提交
取消