如果超出得不多,可以进行优化。这里又分为两种情况:如果你编程经验丰富,可以手动通过优化减小程序代码大小;如果你不太懂得如何手动优化,可尝试提高编译优化等级并优先针对代码大小进行优化,不过提高优化等级往往会带来更多的隐患,不建议这么做。
“对于程序中重复出现的指令,用子程序调用的方式是否能将程序大小改小?”你指的是重复代码段吧,某些优化等级下编译器已经自动进行了这种优化,这时再手动合并重复代码段有时反而会导致代码大小增大……需要具体试验进行。记得多备份。
“是不是说
程序的代码行数越少,这个程序的所占的空间大小会越小?”完全不是这么回事,某些时候一行C程序可能会编译出很长的汇编代码,尤其是那些卖弄C语言技巧的家伙们。我之前看过一个例子是某个家伙写的一行高度紧凑的语句编译出了数百字节。当然如果不幸调用了库函数会使得代码大小迅速膨胀。
方法多了:1、尽量少用系统函数;
2、不要多定义变量;
3、使用合适类型的变量;
4、减少代码;
5、使用小模式编译;
等等
1. 看你的算法效率,其实这个是核心2. 语意优化。
自己审查代码,哪些可以合并的,比如说命名一个循环即可解决,你非要写了两个循环分别来进行,这情况可以合并;
3. 减少new / delete 对
考虑采用内存池,自己编写管理模块。这个看具体应用
4. windows接口的使用记得采用微软推荐的方式
5. 牺牲空间换取时间
用内存空间换取速度优势,这个你搜索下,有很多例子
------------------------------
还是建议你先审查自己的程序。。。确定瓶颈在哪了,再谈优化!不然,会很盲目!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)