首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

Wince,该如何解决

2012-03-22 
Wince开始学习WinCe,前来请教一些问题:1、#define CAM_CODEC_SACLER_START_BIT(115)(115)什么意思?2、#d

Wince
开始学习WinCe,前来请教一些问题:
1、
#define CAM_CODEC_SACLER_START_BIT(1<<15)
(1<<15)什么意思?

2、
#define CAM_CCIR422(1)
#define CAM_RGB16B0
0和1为什么一个用(),一个不用?


3、
typedef struct _YUVINFO
{
int frame_width;
int frame_height;
unsigned int frame_stamp;
} YUVINFO;
直接用struct 定义不就行了,加上typedef有什么用?

4、
#define CIS_SIG ' SIC'

#define VALID_CONTEXT( p ) \
  ( p && p->Sig && CIS_SIG == p->Sig )
VALID_CONTEXT( p )是什么?参数p代表什么类型?



[解决办法]
1,2都是简单的宏定义
1<<15 既:1000 0000 0000 0000
其实这么做,无非就是要操作某个寄存器的第15位而已
置1或者清零
3 typedef其实就是自己进行一个类型定义
比如:typedef unsigned int uint
一样的道理
这里YUVINFO就代表前面的结构体类型了
4
#define VALID_CONTEXT( p ) \
( p && p->Sig && CIS_SIG == p->Sig )
这也是一个宏定义,其实相当于定义了一个函数
VALID_CONTEXT( p )
{
( p && p->Sig && CIS_SIG == p->Sig )
}
p是参数。
我自己的理解,不一定正确。
不过建议楼主简单的补一下C语言的内容。
[解决办法]
1、(1<<15)代表将1向左移动15位,最后变成1000 0000 0000 0000
2、用()代表一个整体,不用那么就是分散的,此处用与不用都是一样的,有些时候不一样
3、用typedef之后,其定义的结构体就相当于一种数据类型,在任何地方都可以用
4、VALID_CONTEXT( p )相当于定义一个函数,但是这种函数相当于内联函数,直接取代

热点排行