函数指针调用方式

void testmy(int k)
{
cout << "testzhixing " <<k << endl; } int _tmain(int argc, _TCHAR* argv[])
{ typedef void(*testmy1)(int);// 定义函数指针相当于一个新的 struct
testmy1 p; // 声明指针变量
testmy();
p = &testmy;
p();
//---调用方式二
testmy();
//--调用3
void (*ptr)(int); // 声明函数指针
ptr = testmy;
ptr(); }

这种方式一般调用dll用的多

 typedef void(*testmy1)(int);// 定义函数指针相当于一个新的 struct
testmy1 p; // 声明指针变量
关于这种方式
参考函数指针 为什么要 (*testmy1) 为什么前面加个* 这个确实不是狠明白 但是这种结构的定义反汇编也没有代码,先这样写着把

还有函数testmy的调用是 test()  testmy是这个函数的首地址  函数调用汇编相当于call 就是跳到testmy函数地址里面执行 当然首地址肯定是保护堆栈现场的操作 不可能直入正题
												

最新文章

  1. [LeetCode] K-th Smallest in Lexicographical Order 字典顺序的第K小数字
  2. shell编程—— EOF
  3. Jquery:ajax跨域请求处理
  4. trac项目管理平台
  5. ActiveMQ持久化消息
  6. 禁止ubuntu的super快捷键
  7. url重写后发布出错问题
  8. eclipse ide for java ee developers 开发环境搭建(j2ee)
  9. 2017年IT互联网圈跑会指南~
  10. HTML元素分类:块级元素 内联元素和内联块状元素
  11. SQL函数和SQL Server2008
  12. 封装数据库配置文件App配置文件
  13. 访问限制:由于对必需的库 C:/Program Files/Java/jre6/lib/rt.jar 具有一定限制,因此无法访问类型。。
  14. linux 中数据库的常用操作
  15. ASP.NET Core中如果Response.HasStarted已经为true,就不能更改Response.Cookies和Response.Headers等属性的值了
  16. System Monitor for Mac(系统监控工具)破解版安装
  17. ssh 免登录
  18. Centos7 zip unzip 安装和使用
  19. python------模块定义、导入、优化 ------time模块
  20. block原理

热门文章

  1. Laravel Vuejs 实战:开发知乎 (2)用户注册
  2. 【Python 多进程】
  3. LA 3708 墓地雕塑(模拟)
  4. ASCII码排序 题解
  5. 记录我对&#39;我们有成熟的时间复杂度为O(n)的算法得到数组中任意第k大的数&#39;的误解
  6. Protobuf协议--java实现
  7. 【代码总结】PHP之会话跟踪技术
  8. 在Windows上使用Docker运行.NET COE应用
  9. case语句!
  10. [原]Java工程打包注意事项