函数的大小计算
来源:互联网 发布:有微信骚扰软件吗 编辑:程序博客网 时间:2024/05/29 07:06
如何计算一个函数在代码段里面占用的空间大小?
在需要将函数从flash搬移到Ram里面运行时会有这个问题:开辟出多大的空间才是与之匹配的呢?
问题的关键就是在flash上面找到这个函数的开始和结束的地方,计算其大小即可。
具体大小是要在编译器编译结束之后才能知道的,那么如何在编译生成的代码里面准确计算一个函数的代码大小呢?
1. 通过检索编译之后生成的.map文件得到函数代码大小。每个代码在编译之后都会生成相应代码然后再被链接器链接在一起,这样在.map文件里面都会生成每个函数的起始和结束地址以及其大小。这种方法的好处就是已知其大小,可以直接开一个固定的ram空间。缺点就是每次函数修改之后,这个ram空间大小有可能会需要做相应的调整。
2. 一般而言,编译器会将一个文件里面相邻的函数连续的放在一起,那么可以通过在函数的后面增加一个空的函数,通过计算这两个相邻函数的指针差而得到函数的大小。好处就是在程序里面可以很方便的就得到函数大小,是自适应的,不像上面的方法还得先编译才行。缺点就是编译完了后要去检查一下,这2个函数是否真的被链接在一起。
- 函数的大小计算
- 计算字节大小函数
- [Delphi] 计算目录大小的函数,获得目录文件列表,计算文件的大小
- 计算目录大小的函数,获得目录文件列表,计算文件的大小
- C++类对象大小的计算(二)含有虚函数类大小计算
- C++类对象大小的计算(三)含有虚函数、虚继承类大小计算
- 计算文件夹的大小
- 综合大小的计算
- 类的大小计算
- 计算CellBlock的大小
- 计算文件的大小
- 类大小的计算
- struct 大小的计算
- 计算图片的大小
- 类大小的计算
- 计算struct的大小
- 计算字体的大小
- 像素大小的计算
- Excel 应用07_自动生成Table和data作成_VBA
- Hibernate Annotation
- ColdFire and 68K
- 2010新年目标-希望虎年虎虎生威!
- Symbian系统简介
- 函数的大小计算
- Android 组件学习【启发】 如何处理好多个组件的多个事件
- excel
- ODbgScript 入门系列
- C#发送Email邮件方法总结
- 天龙八部假设
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之43---uiOne 技术
- 对linux字符设备的理解(整体架构)
- [技术讨论]OO原则中松耦合与高内聚的分析