设为首页
收藏本站
开启辅助访问
登录
立即注册
只需一步,快速开始
会员
首页
BBS
文章
Portal
教程
最新
供电设计
联系我
直达
搜索
搜索
图文教程
磁力开关
馈电开关
采煤机
华宁集控
高爆开关
掘进机
视频教程
初入煤电
组合开关
移变低馈
资料下载
书籍
标规
资料
说明书
社区分类
煤电入门
煤电维修
维修电工
电气软件
电子技术
工控自动
本版
文章
帖子
百技网
»
首页
›
电子技术
›
单片机
›
如何优化C语言代码(程序员必读)
返回列表
发新帖
如何优化C语言代码(程序员必读)
[复制链接]
1532
|
0
|
2011-9-7 22:43:29
|
显示全部楼层
|
阅读模式
<
1、选择合适的算法和数据结构
应该熟悉算法语言,知道各种算法的优缺点,具体
资料
请参见相应的参考资料,有
很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找
法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大
提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存
放的数中使用了大量的插入和删除指令,那使用链表要快得多。
数组与指针语句具有十分密码的关系,一般来说,指针比较灵活简洁,而数组则比
较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,
执行效率更高。但是在Keil中则相反,使用数组比使用的指针生成的代码更短。。
3、使用尽量小的数据类型
能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用
整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就
不要使用浮点型变量。当然,在定义变量后不要超过变量的作用范围,如果超过变
量的范围赋值,C编译器并不报错,但程序运行结果却错了,而且这样的错误很难
发现。
在ICCAVR中,可以在Options中设定使用printf参数,尽量使用基本型参数(%c、
%d、%x、%X、%u和%s格式说明符),少用长整型参数(%ld、%lu、%lx和%lX格式说明
符),至于浮点型的参数(%f)则尽量不要使用,其它C编译器也一样。在其它条件不
变的情况下,使用%f参数,会使生成的代码的数量增加很多,执行速度降低。
4、使用自加、自减指令
通常使用自加、自减指令和复合赋值表达式(如a-=1及a =1等)都能够生成高质量的
程序代码,编译器通常都能够生成inc和dec之类的指令,而使用a=a 1或a=a-1之类
的指令,有很多C编译器都会生成二到三个字节的指令。在AVR单片适用的ICCAVR、
GCCAVR、IAR等C编译器以上几种书写方式生成的代码是一样的,也能够生成高质量
的inc和dec之类的的代码。
5、减少运算的强度
可以使用运算量小但功能相同的表达式替换原来复杂的的表达式。如下:
(1)、求余运算。
a=a%8;
可以改为:
a=a
代码优化
,
c语言
,
程序员
,
变量
热帖推荐
电动机综合保护器JDB-80-A电气原理图.pdf
采煤机高压整不上去,无法正常开机故障的处理
采煤机近控无法正常牵引故障的处理
采煤机左、右端头控制站失控的维修
采煤机上电后,机组不能自保的维修
采煤机开机后,高、低压力不稳的维修
采煤机中文显示屏黑屏的维修
中文显示屏显示日期和时间不准确的维修
采煤机左截割电机无法启动的维修
采煤机不能同时使用两台变频器正常牵引割煤
采煤机右端头控制站失控的维修
采煤机主启正常,中文显示屏不显示的维修
相关帖子
•
51单片机C语言学习(2)
•
51单片机C语言学习(4)
•
单片机C语言入门教程
•
CRC校验原理及其C语言实现
•
S7-200编程技巧
•
CRC算法原理及C语言实现
•
S7-200编程小技巧分享
•
三菱PLC编程口通信C语言源代码
•
企业网站优化的小技巧
•
基于台达PLC的LONWORKS楼宇自控网络应用(3)
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
abb
回复楼主
返回列表
电子基础
电子制作
单片机
器件应用
图文推荐
如何升级VIP用户组
2018-01-13
软启动器的工作过程
2018-12-26
矿用防爆软启开关教程——13、软启开关近控启动过程
2020-02-15
天津华宁KTC101主控器的内部结构
2021-05-14
新型80、120开关防爆磁力启动器原理讲解_水位自动控制
2020-03-30
热门排行
1
KJZ1-200(400)馈电开关原理分析
2
煤矿电工教程:10、风机开关过流、短路、断相保护工作原理
3
这个电气元件符号你认识吗?
4
馈电开关漏电闭锁故障维修_成伟维修笔记1
5
馈电开关漏电试验不跳闸故障维修_成伟维修笔记4
6
煤矿风机开关教程:11、过、欠压保护相关参数的设置
7
馈电开关漏电闭锁故障的维修_成伟维修笔记7
8
煤矿高压防爆开关漏电保护的研究
9
天津华宁KTC101主控器的内部结构
10
高防开关短路跳闸故障的维修_成伟维修笔记8