讲师博文
嵌入式开发常识C语言技巧 来源 : 华清远见     2024-10-16

1、使用宏定义

功能:定义常量、定义宏函数、条件编译等。

优点是:是一种很好的替代函数的方式,增加代码的可读性和简洁性

示例:

2、关键字register

功能:修饰一个寄存器变量。

优点:使用频率特别特别高的数据,存在寄存器中,可以提高效率。

示例:

对比看int i; 和register int i;的运行时间

3、关键字volatile

功能:用来修饰会被不同线程访问和修改的变量。

作用:确保编译器不会对变量进行优化,保持内存的可见性。

4、位操作

功能:位与& 位或| 异或^ 取反~ 左移<< 右移>> 针对二进制

作用:充分利用位操作,可以节省内存和提高效率。

示例:

5、自定义轻量级函数

作用:使用自定义的轻量级函数来替代标准库函数,可以节省资源。

示例:

6、内存管理

作用:嵌入式的内存使用很关键。在使用malloc()函数进行动态内存分配的时候,使用结束后注意使用free()函数进行内存释放,避免内存碎片问题。

示例:

7、中断处理实时事件

示例:

8、防止整型溢出

为了防止整型溢出,可以使用适当的数据类型和边界检查来确保数值的正确性。

9、优化编译选项

对代码进行优化,提高代码执行的效率。

示例:

编译指令:gcc -O2 example.c -o example

优化后的代码可能会有这些改变:

①循环展开:多个迭代合并为一个,以减少循环开销和分支预测。

②内联函数:减少函数调用开销。

③消除无用代码,减少不必要的计算和内存访问。

④优化寄存器使用,以减少内存读写,提高访问速度。

⑤常量折叠:在编译时计算常量表达式的值,并将结果直接替换成常量值。

10、函数指针数组

本质是一个数组,存储的元素都是函数指针。

语法格式:    数据类型    (*数组名[长度])(参数);

作用:转移表【C语言转移表(Jump Table)是一种优化技术,可以用来代替一系列的if-else语句或switch语句,从而提高代码的执行效率。】

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:人工智能的就业方向和前景如何

下一篇:人工智能的课程有哪些

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号