Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1398284
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: C/C++

2012-08-15 22:46:24

   前些天一直被c++内联的问题困扰着,内联主要解决一个宏的问题,对内联的用法之前没有研究过,所以想验证内联的一些用法。就是看内联有没有启用。
   一开始想到的办法是内联的本质的区别,就是是否存在函数调用,想到的是看通用寄存器ebp,因为函数调用时,分配栈帧就是这个ebp所为,想在c++中来读取这个寄存器的值,搬出了很久之前的学过东西,内嵌汇编asm语法,搞了半天,发现还是不能读取寄存器的值,只能执行操作数是c中的变量的操作,未果。
   后来突然想到只需要阅读编译后的汇编代码就知道了,就是在内联的调用处,有没有出现汇编的call关键字就行了。
阅读(1082) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~