这个问题真不是几句话能说清楚的。
主要应做到以下几点:
少用库函数,少用float,int 型变量,少用case语句,尽量写成for循环结构,程序采用模块化设计,优化程序,简化程序,养成良好的编程习惯。后四项其实很难做到。keil中C51标签下的程序代码优化级选项,选9级。
② 用keil软件编程内存不够怎么办
如果内存不够,可以自行添加物理内存,增加电脑的实际可用内存即可。
③ keil5 在win10 环境下编译很慢怎么回事
1、内存占用大,平时也可以清理加速下内存,打开腾讯电脑管家电脑加速开启小火箭
2、腾讯电脑管家——工具箱——上网慢(或游戏加速)
3、物理内存占用大,不需要的卸载了,打开腾讯电脑管家工具箱软件卸载
4、资源占用,建议合理分配,打开腾讯电脑管家工具箱网速保护
④ 51单片机keil的编程问题
unsigned char 和 unsigned int 的区别就是位数不同吗,前者是8位二进制数,最大值是255,占用一个字节内存。而后者是16位数,最大数是65535,占用两个字节内存。当数据大于255,就必须用int型。而数据小于256时,就尽量用char型,不要用int型,以节省单片机内存。因单片机内存很有限,要节省内存的使用,最单片机编程的基本要求。
⑤ 请教关于KEIL如何正确设置编译超过64K的程序
Project -> Options for Target -> C/C++下面勾选逗Optimize for Time地优化时间,即优化代码中费时的地方。
Keil(MDK-ARM)系列教程(四)_工程目标选项配置(Ⅱ):
Keil系列教程:
⑥ keil编译的data空间消耗
因为你的FUN1,FUN2都没有被调用过,所以编译器没办法,只好把函数中的局部变量都保留下来,反而占了空间。
你把程序的MAIN改成如下:
main()
{
char i; //你不会一个变量都不用吧
i = 0;
if(i)
{
fun1();
fun2();
}
}
再编译试试就知道了,呵呵,当然,还要在main之前增加fun1和fun2的函数原型
⑦ keil编译单片机的c语言程序,程序中的大量空行,会不会占用rom,删掉空行能使程序占用内存减小吗
空行并不会占用内存,KEIL只会编译正确的语句,即使是语句后面的注释也会被编译器忽略掉,所以不用担心
⑧ keil编译时空间不足
我用keil2,keil4编译都没有问题的。
重新建一个工程,再试下。
下图就是用keil4编译的结果。估计是没有破解。或者破解的不对。
⑨ keil编译C语言内存不足 怎么解决 求助各位老师
这种问题就是重复定义,你把重复定义的在SOURCE
INSIGHT
中搜
一下,你会发现至少两次有重复定义到同一个东西,你把其它的删除,只保留一个就好
⑩ KEIL中编译一直提示没有节适配选择器是怎么回事
这个警告应该是有某个函数从没有被调用,建议你看看具体的警告信息(信息中有函数名的),把那个函数注释掉,这样能节约内存和程序空间。
另外,再编译一次这个警告会消失,其实是KEIL优化配置的效果,配置不同,效果也不一样。