为什么C51两种编写头文件方法,编译代码差这么多?

[复制链接]
2796|6
 楼主| 自民 发表于 2012-4-19 15:10 | 显示全部楼层 |阅读模式
原先写的C51,只有一个main.c文件,几个XX.h文件
在main.c文件中#include "XX.h"  
编译完代码大小为64391
由于XX.h太大,改为一个XX.c,一个XX.h
在xx.h中声明函数和变量,xx.c 中具体定义。
为什么最后编译代码大小变成65664,多了1K啊!完全一样的程序,只是写头文件方法变了怎么差这么多?
airwill 发表于 2012-4-19 15:17 | 显示全部楼层
不多, 如果换换优化级别, 代码都不要动, 差别就更大.
 楼主| 自民 发表于 2012-4-20 09:32 | 显示全部楼层
优化级别我没改啊!都是8级
 楼主| 自民 发表于 2012-4-24 08:47 | 显示全部楼层
为什么呢?
王紫豪 发表于 2012-4-24 09:51 | 显示全部楼层
应该是代码的问题;这个问题不好回答
airwill 发表于 2012-4-24 11:41 | 显示全部楼层
往往跟编译器的寄存器分配有关.
试试使用

#pragma REGFILE
vrgood 发表于 2012-4-24 17:02 | 显示全部楼层
编译代码大小变成65664?
超过64K了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

47

主题

195

帖子

2

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