这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 交流一下关于MCU程序的一个结构问题

共4条 1/1 1 跳转至

交流一下关于MCU程序的一个结构问题

工程师
2019-06-29 22:53:13     打赏

有时函数为了可读性 和可维护性  ,,把一部分过程打包成 子函数,,这样看起来清晰明了

假如函数fun 调用子函数fun1,,      那么fun1的一些变量为了下次运行值还存在 ,那么必须定义成全局变量吗?

如果在子函数定义成静态局部变量,,按步骤执行 0,1,2,3  ,,假如执行到2步骤了,
但此时主函数 fun 想重新让fun1函数从步骤0开始,,那么 static  a =0;只能定义在外面吧 ,


领导说 尽量少用全局变量    ,那样看起来容易 全局变量漫天飞,在这里不定义不行吧 ?!


附上程序图例子:

  




关键词: 程序     数据结构     语法    

工程师
2019-06-29 23:45:17     打赏
2楼
换个思路,给fun1加一个参数,当参数为非0时,不改变a的值,当参数为0时,则把参数赋值给a.



工程师
2019-06-29 23:53:27     打赏
3楼

我看是从未离开起点。。。把定义移到文件头,有需要的话包成结构体,要额外改增加单独函数做为 API,不直接对外的函数和数据必须都加 static 修饰。



工程师
2019-06-30 00:00:43     打赏
4楼

看你的需求。你如果就全局需要一个总标志,那你就弄个全局的。否则如果只针对某个东西有效,那就打个class或struct包起来。这样针对性计算也方便了。

传参时传指针是可以节省不少时间的,但是一定要注意嵌入式最好把结构体弄成全局的,尽量不要直接传结构体或返回结构体!否则编译器会生成一大堆指令去搬数据!


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]