Chinaunix首页 | 论坛 | 博客
  • 博客访问: 520634
  • 博文数量: 85
  • 博客积分: 1797
  • 博客等级: 上尉
  • 技术积分: 1236
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-02 08:53
个人简介

职位:技术总监 1、精通c++(linux平台、vc++Mfc、qt)、java、php、unity3d,略懂python 2、用c++开发过嵌入式产品,用c++开发过大型银行运维产品 3、用java开发大型银行运维产品,学校教务系统 4、用php开发进销存系统(在销售中),用php开发淘宝小程序 5、用unity3d开发衣柜设计软件,在运营中

文章分类

全部博文(85)

分类: C/C++

2011-09-21 22:42:41

利用指针调用函数的两种方法:
void *p ;             //p是void型指针
void (*q)();       //q是void型函数指针
   
p = (void*)Test_UartAFC_Tx;   //可理解为函数指针强制转换成void型指针。Test_UartAFC_Tx是函数
q=Test_UartAFC_Tx;           
   
((void(*)(void))p)();   //(void(*)())也是个强制转换,是把void型指针转化为函数指针。
        //void是返回类型,(*)(void)是函数指针
(*q)();
////////////////////////////////////////////////
((void(*)())p)()这个研究了一天,都快吐血了,最后还是柳暗花明了
///////////
所用的方法:给((void(*)(void))p)()加括号和改变void类型未int等,最终发现(*)(void)在一块即
((*)(void))时,编译器不报错。

阅读(904) | 评论(0) | 转发(0) |
0

上一篇:第三章的调试

下一篇:gdt 的作用

给主人留下些什么吧!~~