原创 static用法小结

2009-11-4 13:31 2062 13 13 分类: 汽车电子

     有人说,在嵌入式的代码中,尽量少用或不用static,但是实际上,包括MISRA C规范中,都没有讲到static的不便。只要掌握好了,使用起来还是有很多好处。


一、StaticC语言中,有两个特征:



1、 
变量会被放在程序的全局存储区中,这样可以在下一次使用中保持原来的赋值。



2、 
变量用static告诉编译器,自己仅仅在变量的作用范围内可见,这一特点是他和全局变量的区别。



二、使用static的情况:


若全局变量仅仅在单个文件中使用,可以将这个变量修改为静态全局变量,以降低模块间的耦合度。



若全局变量仅仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度。



设计和使用动态全局变量,静态全局变量和静态局部变量的函数时,需要考虑重入的问题。



如果需要写一个需要重入的函数,一定要避免函数中使用static变量。

三、需要注意的问题

       当某函数的返回值是指针时,必需是static的局部变量的地址作为返回值。



函数前加static使的函数成为静态函数,当此处的static不是指存储方式,而是指函数的使用域仅仅限于本文件(内部函数)。好处是不同人编写的函数不同担心函数的同名。









PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
13
关闭 站长推荐上一条 /3 下一条