![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C基础
ydf8525
毕业西南大学电子信息工程,从事嵌入式软件开发11年,熟悉STM/NXP/HISI/CYPRESS/QUALCOMM/ROCKCHIP等平台开发,长期致力于Linux/android系统进行系统集成优化,外设驱动开发;主要精通USB协议和CAMERA视频采集/传输;致力于linux/android 相关技术研究
展开
-
C 类型限定符const 和volatile
C 类型限定符const 和volatile 1、const 通常在声明中,const出现在存储类型之后,数据类型之前。 如: static const int a=3;//a 是一个静态存储类型的整形常量 由于已经用const限定了a的类型,我们可以对a进行初始化,但以后不能再对a赋值,增量和减量操作。 虽然对使用const对变量作了限制,也不能在另一个声明中用变量描述数组的大小。原创 2013-06-23 13:57:29 · 662 阅读 · 0 评论 -
c 结构体的嵌套引用解读
c 结构体的嵌套引用解读 背景:在Linux内核系统中经常能看到如下例1形式的结构体嵌套引用,在代码追踪、走读的时候令人费解。所以在弄清楚结构体的嵌套调用就很有用处了。 概念: 1、结构的自引用 在一个结构内部包含一个类型为该结构体自身的成员是不合法的。 如下: struct SELF_REF1 { int a; str原创 2013-06-23 11:11:28 · 11961 阅读 · 0 评论 -
C 命名冲突和static 修饰符
C 命名冲突和static 修饰符 一、命名冲突 ANSI C 定义了C标准的库函数,列出了经常用到而可能会引发命名冲突的所有函数,这样,我们就容易避免与库文件中外部对象名称发生冲突。如果一个库函数需要调用另一个未在ANSI C 标准中列出的库函数,那么他应该以“隐藏名称”来调用后者。 二、static 修饰符 static 是一个能减少命名冲突的有用工具。 例如原创 2013-06-23 13:06:23 · 1229 阅读 · 0 评论 -
环形缓冲区的实现原理
在通信程序中,经常使用环形缓冲区作为数据结构来存放通信中发送和接收的数据。环形缓冲区是一个先进先出的循环缓冲区,可以向通信程序提供对缓冲区的互斥访问。 1、环形缓冲区的实现原理 环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而转载 2015-04-03 11:19:54 · 652 阅读 · 0 评论