免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2516 | 回复: 5
打印 上一主题 下一主题

帮个忙,解决一个函数指针数组的动态赋值问题 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-25 14:26 |只看该作者 |倒序浏览
俺需要如下内容是动态生成的,游牧有办法?

int (*FunList[ 2 ])() = { Fun0, Fun1 } ;

即,这个数组的项 Fun0,Fun1 是动态生成的,或者是动态赋值的。

比如,根据不同的条件, FunList[0] = Fun0 , FunList[1]=Func3 ....

不知道俺说清楚木有?

晕了。

PS:

这个 Fun0 ,Fun1 ... 是根据不同的条件从数据库中取出来的,也许取出的内容是 Fun1,Fun3 ,这个取出的咚咚是字符串数组。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2011-11-25 15:06 |只看该作者
俺需要如下内容是动态生成的,游牧有办法?

int (*FunList[ 2 ])() = { Fun0, Fun1 } ;

即,这个数组 ...
snow888 发表于 2011-11-25 14:26



    看看 dlopen(3), dlsym(3) 的使用吧。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2011-11-25 15:11 |只看该作者
看看 dlopen(3), dlsym(3) 的使用吧。
MMMIX 发表于 2011-11-25 15:06



    这个与俺的需求有麻子关系啊?

晕,木有看明白,能详细说说么?

论坛徽章:
0
4 [报告]
发表于 2011-11-26 17:02 |只看该作者
这个与俺的需求有麻子关系啊?

晕,木有看明白,能详细说说么?
snow888 发表于 2011-11-25 15:11



    dlopen是用来打开外界动态库文件,面 dlsym是通指定的函数名从己装到内存的动态库里,取得函数起始地址.(可以问Baidu)

还有LZ你的动态的数据里放的是什么东西?是VOid型的数据,还是两个函数指针???

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2011-11-26 21:28 |只看该作者
dlopen是用来打开外界动态库文件,面 dlsym是通指定的函数名从己装到内存的动态库里,取得函数起始 ...
woftfox 发表于 2011-11-26 17:02



    这个问题你暂时还回答不了,建议你多看看。

论坛徽章:
0
6 [报告]
发表于 2011-11-27 02:36 |只看该作者
可以先建立字符串表示的函数名和函数地址的映射关系,用数组也好,用hash也好。。。然后获得字符串名的时候,就可以得到对应的函数地址,再分别赋给那个函数指针数组的每个元素。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP