打印

请教,这些代码是啥?

[复制链接]
1104|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

粉丝