如何优化C语言的代码空间
引言
由于进来在优化一C语言程序,前后折腾,用尽的ROM又腾出 不少空间,于是总结下所用到的方法
采用的方法
(1)减少不必要的判断语句;
详情是这样的,一些判断语句有时会因为思维习惯,导致出现多次判断,结合算法,可以减少判断;
(2)将不必要的全局变量替换为局部变量;
有时定义变量刚开始时,这个变量是必要的全局变量,但时过境迁,该变量和现在的算法相比已经不需要了,完全可以去掉或者用局部变量替换掉。
此外一些变量涉及状态量的变化,需要赋值或者初始化,结合算法,如果在多个地方调用掉,可结合系统前后,分析下,该操作是不是没有必要,因为同样的操作在其他地方已经进行了,去掉该操作对系统没有影响,这样也可以把相应的变量操作删除。
(3)将判断语句中用到的变量,能合并的条件尽量合并;
有时需要判断多个变量的状态,但是结合算法,可以只用一个变量就可实现。
(4)根据定义数据类型的数值大小选择不同的数据类型;
(5)重复的代码或者寄存器操作用子函数替换;
如何优化C语言的代码空间相关推荐
- c语言程序运行内存图解,从执行速度和内存使用等方面来优化C语言代码
在本篇文章中,我收集了很多经验和方法.应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码. 简介 在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级 ...
- 嵌入式编程C语言提高代码效率的14种方法
嵌入式编程C语言提高代码效率的14种方法 1.在可能的情况下使用typedef替代define.当然有时候你无法避免define,但是typedef更好. typedef int* INT_PTR; ...
- 万年历c语言编程代码_C语言高效编程与代码优化~
译文链接:http://www.codeceo.com/article/c-high-performance-coding.html 英文原文:https://www.codeproject.com/ ...
- 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2)
上一篇,讲了R语言中的空间权重矩阵的结构,这一节讲讲R语言里面空间权重矩阵的自定义. 与ArcGIS自定义空间权重矩阵一样,R语言的空间权重矩阵如果纯粹从零开始自定义生成,是非常麻烦的事情,所以我们一 ...
- moran指数 r语言_白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2):不同空间关系对莫兰指数的影响...
原标题:白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2):不同空间关系对莫兰指数的影响 上一篇,讲了R语言中的空间权重矩阵的结构,这一节讲讲R语言里面空间权重矩阵的自定义. 与Ar ...
- WPF第一章(XAML前台标记语言(Chapter02代码讲解))
XAML前台标记语言(Chapter2代码讲解) 很不好意思,工作有点忙,博客停了两天.相对于一门语言的学习,理论知识和实践必不可少,大多数时间我们要用,对于代码也是,一边不行可以看两遍,实在 ...
- 一些可运行的C语言数据结构代码
网上有很多C语言数据结构代码:有的不能运行:下面是一些能运行的,和运行截图:备用一下: 1 队列 #include<stdio.h> #include<stdlib.h>#de ...
- 拓扑排序(完整案列及C语言完整代码实现)
写在前面:博主是一位普普通通的19届双非软工在读生,平时最大的爱好就是听听歌,逛逛B站.博主很喜欢的一句话花开堪折直须折,莫待无花空折枝:博主的理解是头一次为人,就应该做自己想做的事,做自己不后悔的事 ...
- ++代码实现 感知机的原理_决策树ID3原理及R语言python代码实现(西瓜书)
决策树ID3原理及R语言python代码实现(西瓜书) 摘要: 决策树是机器学习中一种非常常见的分类与回归方法,可以认为是if-else结构的规则.分类决策树是由节点和有向边组成的树形结构,节点表示特 ...
最新文章
- qgc地面站如何导入离线地图_QGC地面站工具下载 QGroundControl(QGC地面站软件) v2018.11.02 免费安装版 下载-脚本之家...
- 3.2 汇编语言程序设计
- centos 安装java_在CentOS8上编译安装开源EDA工具——Surelog
- 数据可视化(推荐Tableau、 PowerBI 、FineBI、Echarts、ggplot、PYTHON、R)---数据分析领域的万金油技能
- SELECT 与 SET 对变量赋值的区别(存储过程)
- 18.8.20 考试总结
- 嵌入式软件开发工程师谈软件架构的设计
- Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue-cli)
- AWS 之于 K8s,如同 Windows 之于 Linux!
- 【招聘】搜狗输入法-自然语言处理研究员
- 交叉验证(Cross Validation)简介
- wireshark+rtmp协议分析
- SPSS分析基础——T检验
- ESP8266安装安信可一体化开发环境
- SDL —— SDL_mixer
- sourcetree添加gitignore不生效解决方案
- Data Structure - Quadratic Probing Hash Table (Java)
- python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)
- 传感器连接mysql_获取传感器数据并传入数据库-HTTP/POST/ASP.NET
- Python得到前面12个月的数据