免费注册 查看新帖 |

Chinaunix

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

给讲解下这个函数指针的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-13 13:13 |只看该作者 |倒序浏览
本帖最后由 jimmyixy 于 2010-08-13 13:35 编辑
  1. ([color=Red](void (* )()[/color])0x10000000)();
复制代码
据说是执行0x10000000地址处的代码
红色的我知道这是个空的函数指针,然后后面跟一个地址我就搞不明白了。
指点下

论坛徽章:
0
2 [报告]
发表于 2010-08-13 13:17 |只看该作者
据说是执行0x10000000地址处的代码
红色的我知道这是个空的函数指针,然后后面跟一个地址我就搞不明白了。 ...
jimmyixy 发表于 2010-08-13 13:13



    朋友,起码的礼貌用语应该有吧。。。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
3 [报告]
发表于 2010-08-13 13:25 |只看该作者
前面是类型,强制转换地址,最后加()就是调用了

论坛徽章:
0
4 [报告]
发表于 2010-08-13 13:26 |只看该作者
强制类型转换.你不是已经理解它的作用了么?

论坛徽章:
0
5 [报告]
发表于 2010-08-13 13:37 |只看该作者
回复 3# hellioncu


    谢谢兄台,没有碰到过这样强制类型转换的,所以有点少见多怪了

论坛徽章:
0
6 [报告]
发表于 2010-08-13 14:03 |只看该作者
转化为函数指针 然后执行

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
7 [报告]
发表于 2010-08-13 16:36 |只看该作者
想起opencv里面的一段代码……

  1. ( (uint64_t(*)())"\x0f\x31\xc3" )();
复制代码

论坛徽章:
0
8 [报告]
发表于 2010-08-13 16:41 |只看该作者
想起opencv里面的一段代码……
OwnWaterloo 发表于 2010-08-13 16:36



    这个....不会连字符串常量结尾的0x0也算上了吧....

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
9 [报告]
发表于 2010-08-13 16:46 |只看该作者
回复 8# liwangli1983

木有……  因为0xc3是ret~

论坛徽章:
0
10 [报告]
发表于 2010-08-13 16:48 |只看该作者
回复  liwangli1983

木有……  因为0xc3是ret~
OwnWaterloo 发表于 2010-08-13 16:46



    对...我开始理解错了.

 这里应该是把字符串的地址给强制转换了,然后执行的是字符串的内容...很强大...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP