c程序编译大了怎么办
Ⅰ C语言多充循环,运算次数多,编译时间很长,又无法估计最终需要多久,怎么办
如果要减少时间 那么优化代码,或者直接改进算法
如果要预测时间,那么大致估计一下循环的次数,然后在固定的某个循环中加一个打印,通过打印频率来估算总时间
Ⅱ keil编译显示程序太大~编译不了怎么办
这种情况已经有一阵时间了,KEIL显示破解成功,其实是假的。现在我的做法是拿一个大程序来编译,如果编译通过,那就是破解成功,如果还有限制,那就继续破。我以前的KEIL C251破了半天,算了N个码,个个都显示已成功,可实际上直到N+1次才编译通过,我一同事更倒霉,整整算了3天。所以,破这玩意没技术,就俩字,坚持。
Ⅲ 我用STC89C54的单片机 但是在用KEIL编译程序时好像是因为程序太大而编译失败了 请问要怎么更改
你不会是用的受限版的KEIL吧,如果是受限的只能最大编译2K的程序范围
我的可以编译最大64K
选择Project中的Opertions for Target‘Target1’
选择Target选项卡,选择Code Rom Size中的为Large:64K program
Ⅳ Keil uvision4 程序中C程序定义的一维数组字节过大该怎么办
首先,所有的52芯片都只有128字节的idata和128字节的data,再去除sfr和堆栈的开销,实际可使用的内部ram也就210以下。如果想开个320的数组,那就必须要用扩展ram,也就是xram,可以根据实际情况来选择外部sram,或者干脆选择自带xram的芯片,例如stc的几款。
其次,要看是否真的需要这么大的缓存。如果是静态显示,根本就不需要,我就曾经用1块52就能实现左移,上下移动,百叶窗功能。如果是动态显示,要看屏幕实际最大可显示几个汉字,如果最大是6个,那么哪怕一句话你想显示再多也没关系,如果超过6个,那你就参照第一段话
Ⅳ 单片机C 程序中定义的数组字节过大该怎么办
C51不允许对数组的大小作动态定义,即数组大小不依赖于程序运行。数组初始化的时候,大小必须已定义类型。这个在C++标准中有描述。const的变量不一定是已定义的,向你上面的const int m=n;需要看n时候在编译阶段是否是已定义的。数组下标最好不要用未知数据的变量。