请教,这些代码是啥?

[复制链接]
1631|3
 楼主| leave99 发表于 2012-12-7 16:02 | 显示全部楼层 |阅读模式
   用KEIL  FOR ARM 写的一个工程,最近在工程上增加了一个.C文件,  比较了下前后两次的HEX,  发现HEX的前半部分也出现了一些差异. 后来通过 MAP 以及 DEBUG 反汇编定位发现这些不一样的代码总是位于两个文件之间的位置, 似乎不隶属于某个函数.
     比如 1.o之后是2.o,  而FUNC1是1.C的最后一个函数, FUNC是2.C的第一个函数,  在DEBUG 反汇编看它们之间还有些代码, 我想知道这些代码是如何生成的, 作用是什么, 为什么我增加个文件它要改变,  有什么影响呢, 我是不想它变的,如何能让它不变呢??
阿南 发表于 2012-12-7 22:11 | 显示全部楼层
不同的编译器版本,优化等是不同的,所以这很正常。
 楼主| leave99 发表于 2012-12-10 15:03 | 显示全部楼层
阿南 发表于 2012-12-7 22:11
不同的编译器版本,优化等是不同的,所以这很正常。

编译器和版本都是相同的,不过我已经知道是怎么回事了,多谢回复!
xinzha 发表于 2012-12-10 18:03 | 显示全部楼层
arm的编译器会在代码中插入小的代码片段或者辅助的常数,并不奇怪。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

13

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部