linux 下 利用反汇编 查看 inline函数的 使用
来源:互联网 发布:民航航线图数据下载 编辑:程序博客网 时间:2024/06/06 02:46
做"代码调整优化"项目时,打算把一些函数放到ops,但师兄突然说 内联函数 放到ops会失去内联的效果(即:编译时不会被展开),自己专门看了下相关的资料。
收获如下:
a.c作为一个测试文件,内部使用了内联函数
详细步骤如下:
一:
gcc -O -o main a.c
其中的-O表示编译优化,如果不加,则编译时不会进行内联。
二:
objdump -D main > dump.txt
-D 表示反汇编
三:
利用grep 函数名 dump.txt 查看 该函数是否展开。 若没有查到,则说明 内联函数 被展开; 反之 则没有展开。
结论:
1 内联函数中有循环时, 还有效果,即: 编译时可以展开; 但是内部有递归或者内部有malloc时,就不能被展开
2 在动态ops中声明内联函数,也没有效果,(即不能被展开)
2 在静态ops中声明内联函数,有效果,(即可以被展开
- linux 下 利用反汇编 查看 inline函数的 使用
- Linux下反汇编指定的函数
- linux 下使用 objdump 反汇编
- Linux 下使用 objdump 反汇编
- Linux下的objdump反汇编工具
- Linux下C程序的反汇编
- Linux gcc 利用反汇编来研究C语言函数堆栈的分配方式
- ARM 反汇编的查看
- 在VC中ADE32反汇编引擎的使用,打算配合inline hook使用。。(~ o ~)~zZ
- linux下反汇编实例
- linux下如何反汇编
- 汇编-使用VS2008查看反汇编语言
- strlen函数的反汇编
- inline函数的使用
- 查看反汇编
- 查看反汇编
- 查看反汇编代码
- Linux下查看汇编代码
- prototype.js的系列文章——Ajax.Request类
- 引用公共头部
- Firefox 及 IE 6.0 遇到 DIV 本文高度不能撑开处理
- 学写第一篇博客
- http://10.1.1.35/ule_basic/ule13_httpd.txt
- linux 下 利用反汇编 查看 inline函数的 使用
- prototype.js之ajax.request学习笔记(一)
- 未来
- prototype.js之ajax.request学习笔记(一)
- 最美的天堂
- 堆和栈
- 2-3-4 树 Java数据结构与算法
- pku1781,pku1012,pku2244(约瑟夫环问题)
- http://10.1.1.35/ule_basic/ule15_sendmail.txt