這在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 關注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消