好久没写博客了,其实也不是很忙,就是这段时间一直在看代码,(公司的驱动代码),驱动的代码是很难看的加上又没有什么注释看起来更是痛苦,现在做得是 powerpc系列的东西主要是串口和以太网,看上去好像不多但是上一级的师兄告诉我,我一个人要接这两块可能是不行的,主要涉及的东西太多各种芯片的驱 动,以及没完没了的调试, 唉,机遇和挑战并存呀!
这几天的看源码解决了我脑中几个误区,第一头文件中方的应该是该文件中归外部调用的接口,而不是所有函数的声明,这样做得目的是为了信息隐藏和保护.原来我一直傻乎乎的写什么文件都把所有的函数声明放进头文件,
第二是关于static关键字的使用, static用在变量前面指的是对于一部分我们希望在程序运行过程中,具有记忆功能的变量前加上该变量不是全局可见的, static用在函数前表示的是该函数只为本文件所有外部文件不可使用,即定义为私有.
第三是extern'关键字,extern表示意义很广在c++中有extern "c" 的用法表示该段代码是c语言头文件或函数,应使用c标准调用
在c语言中特别是在多文件的大项目中常使用其来表示定义在外部的函数,也即如果一个文件中的几个函数需要被外部调用,我们可以省去在每个调用文件中都使用 extern表示这是一个外部定义的函数,而只需在定义该文件的头文件中声明该文件为外部使用的函数,这样使用的文件则只需包含该头文件即可.
但是在网上有的朋友说的是将函数声明为extern则使用该函数的文件只需要包含头文件即可,
这几天的看源码解决了我脑中几个误区,第一头文件中方的应该是该文件中归外部调用的接口,而不是所有函数的声明,这样做得目的是为了信息隐藏和保护.原来我一直傻乎乎的写什么文件都把所有的函数声明放进头文件,
第二是关于static关键字的使用, static用在变量前面指的是对于一部分我们希望在程序运行过程中,具有记忆功能的变量前加上该变量不是全局可见的, static用在函数前表示的是该函数只为本文件所有外部文件不可使用,即定义为私有.
第三是extern'关键字,extern表示意义很广在c++中有extern "c" 的用法表示该段代码是c语言头文件或函数,应使用c标准调用
在c语言中特别是在多文件的大项目中常使用其来表示定义在外部的函数,也即如果一个文件中的几个函数需要被外部调用,我们可以省去在每个调用文件中都使用 extern表示这是一个外部定义的函数,而只需在定义该文件的头文件中声明该文件为外部使用的函数,这样使用的文件则只需包含该头文件即可.
但是在网上有的朋友说的是将函数声明为extern则使用该函数的文件只需要包含头文件即可,