C语言:_I 的解析

我的解读都是建立在别人分享的基础上,感谢网上大佬的分享。希望我这么整理出来后能帮助到你。

在底层开发时,会遇到 _I 、_O、_IO 这样的类型。其中 _O 和 _IO 百度的其他博客都有详细的解释。我给出推荐的一片文章:

但在这篇文章中,对_I解释的有点模糊。于是再分析下volatile const:

这篇文章中,对内存进行了解释,简单的说:
const编译期间有作用,但在运行期间无作用。
volatile在编译期间和运行期间都有作用,这就在运行时不会产生冲突了。

至于有的会有:
__IO u16 FramLength       :15;   //14:0
这样的形式,但要看代码的前后,因为这样的代码,都是在结构体内的:
struct 
  {
     __IO u16 FramLength       :15;                               // 14:0 
     __IO u16 FramFinishFlag   :1;                                // 15 
    }InfBit;

具体的解释,可以参考下面的这个链接。相信很容易懂得。

猜你喜欢

转载自blog.csdn.net/youngybird/article/details/78782498