我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: c语言怎样通过字符串数组(内容为函数名)调用函数 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

devin



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 272
威望: 0
浮云: 493
在线等级:
注册时间: 2010-02-08
最后登陆: 2016-04-28

5come5帮你背单词 [ confine /kən'fain/ vt. 限制,限于,监禁 ]


c语言怎样通过字符串数组(内容为函数名)调用函数

熟悉c的帮忙看下,实现如下功能:

void goto_test(){
    printf("this is go to test\n");
}

char a[] = "goto_test";

怎样通过类似java反射机制来通过读取a的内容来执行函数?
execute_by_name(a);  // ??



顶端 Posted: 2010-05-18 16:39 | [楼 主]
hzan





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 170
威望: 0
浮云: 1132
在线等级:
注册时间: 2006-09-23
最后登陆: 2011-04-23

5come5帮你背单词 [ inside /in'said/ a. 里面的,内部的;ad. 在内部,在里面;prep. 在…里面,在…内部;内部 ]


楼主如果想要C实现一个函数execute_by_name();  的话恐怕不行,execute_by_name(a);运行后,a形参和返回值怎么处理?
一般的解决方法是楼上所说的方法,具体的方法可以参考u-boot的控制台的代码,可以用一个宏和GCC编译器的链接命令来实现execute_by_name();  但是被调用函数的返回值无法传递出来。
顶端 Posted: 2010-05-19 23:41 | [1 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.014528(s) query 6, Time now is:05-03 15:10, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号