打印
[其他]

单片机开发,怎么提高C语言编程代码的效率?

[复制链接]
1303|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2022-10-20 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教下朋友们,单片机开发,怎么提高C语言编程代码的效率?

使用特权

评论回复
沙发
tpgf| | 2022-11-1 09:04 | 只看该作者
应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。

使用特权

评论回复
板凳
aoyi| | 2022-11-1 09:36 | 只看该作者
选择一种合适的数据结构很重要,比如你在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多

使用特权

评论回复
地板
nawu| | 2022-11-1 10:11 | 只看该作者
能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就不要使用浮点型变量。否则会造成内存浪费,而且运算时效率要低一些

使用特权

评论回复
5
zljiu| | 2022-11-1 10:24 | 只看该作者
函数执行时会将参数存放在栈中,这个过程中参数传递会耗时。如果传递的参数是int类型,可能对性能影响还不是很大。但如果传递的参数是一个较大的结构体,其效率问题就不言而喻了。相对应的,指针作为参数传递只把结构体地址存放在栈中,在数据结构较大时,效率优化很明显。

使用特权

评论回复
6
gwsan| | 2022-11-1 10:44 | 只看该作者
数据拷贝会将数据从一块内存拷贝到另一块内存。如果改成用指针,将数据的内存地址进行传递,同样能获取到数据,效率指针要快很多

使用特权

评论回复
7
tfqi| | 2022-11-1 11:27 | 只看该作者
减少产生临时变量的情况:函数传参、函数返回值、隐式类型转换、多余的拷贝、赋值等。

使用特权

评论回复
8
uytyu| | 2022-11-1 15:34 | 只看该作者
如果使用C编程时,要达到最高的效率,最好熟悉所使用的C编译器。

使用特权

评论回复
9
tabmone| | 2022-11-1 15:47 | 只看该作者
算法级别的显然是最主要的优化            

使用特权

评论回复
10
janewood| | 2022-11-1 16:16 | 只看该作者
程序的效率除了编程外,还与编译器有大的关系

使用特权

评论回复
11
pmp| | 2022-11-1 16:42 | 只看该作者
动态申请内存,且不要申请过多,够用即可

使用特权

评论回复
12
ccook11| | 2022-11-1 17:17 | 只看该作者
C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。

使用特权

评论回复
13
loutin| | 2022-11-1 18:12 | 只看该作者
运行效率的话就是减少代码重复              

使用特权

评论回复
14
eefas| | 2022-12-1 17:29 | 只看该作者
为了提升代码执行效率,有时会在 C 代码中插入汇编语言

使用特权

评论回复
15
yorkbarney| | 2022-12-1 17:38 | 只看该作者
设计的代码比实际执行更难  。

使用特权

评论回复
16
ccook11| | 2022-12-1 20:03 | 只看该作者
不要一味地追求程序的效率               

使用特权

评论回复
17
jimmhu| | 2022-12-1 20:53 | 只看该作者
适当的使用内联汇编指令可以有效的提高整个系统运行的效率。

使用特权

评论回复
18
caigang13| | 2022-12-2 07:45 | 只看该作者
学学数据结构,算法处理。

使用特权

评论回复
19
uytyu| | 2022-12-2 19:26 | 只看该作者
把函数定义成宏形式,原理也就和内联函数一样,如果函数体内代码短小,又经常调用,内联函数效率高,反之使用函数调用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1890

主题

6533

帖子

8

粉丝