您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页反汇编->C++内联

反汇编->C++内联

来源:五一七教育网
C/C++提供了内联函数机制
内联函数就是向编译器建议:编译这个函数的时候.直接把函数展开,而不是进行函数调用call.当然编译器并不接受这个建议.仍然把他当做普通函数进行编译

内联函数的缺点:造成代码膨胀.把一个复杂.函数体较大.多出调用的函数使用内联函数实现.是一个错误的决定.




  1. c = add_not_inline(a, b);
  2. 00DD17DC mov eax,dword ptr [b]
  3. 00DD17DF push eax
  4. 00DD17E0 mov ecx,dword ptr [a]
  5. 00DD17E3 push ecx
  6. 00DD17E4 call add_not_inline (0DD1311h)
  7. 00DD17E9 add esp,8
  8. 00DD17EC mov dword ptr [c],eax 
  9. d = add_inline(a,b);
  10.     mov edx,dword ptr [a]
  11.     mov edx,dword ptr [b]
  12.     mov dword ptr [d],edx
从汇编的角度可以看出来.当内联函数被编译器接纳时.直接展开.没有压栈.call.之类的指令


转载于:https://www.cnblogs.com/zengyiwen/p/5679158.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务