| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 762 人关注过本帖
标题:大哥们#if 0 #if 1怎用使用,小弟这边有礼了
只看楼主 加入收藏
kennyzhang
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-7-24
收藏
 问题点数:0 回复次数:6 
大哥们#if 0 #if 1怎用使用,小弟这边有礼了
各位大哥有那位使用个这样的宏呀,书上好像没有介绍呀 #if 0 #if 1
搜索更多相关主题的帖子: 大哥 
2006-09-05 14:49
kennyzhang
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-7-24
收藏
得分:0 
#if 0 /* No osd int */
if ((cardIn && (param == SP5K_DRIVE_SD)) || ((cardIn == 0) && (param == SP5K_DRIVE_NAND))) {
evbOsdInit();
powerOnReady = 1;
sp5kExifInit();
if (vbusIn) {
printf("Start to connect USB now!!\n");
USB_CONNECT();
}
}
#endif
/* Jinch 060420 add start */
customAppMsgSend ( msgId , param );
/* Jinch 060420 add end */
break;
case SP5K_MSG_DISK_MOUNT_FAIL:
printf("Mount drive %d fail\n",param );
/* Jinch 060420 add start */
customAppMsgSend ( msgId , param );
/* Jinch 060420 add end */
break;
#if 1
case SP5K_MSG_USB_DEVICE_VBUS_IN:/*zyb modify for sd and usb 0520*/

printf("\n*SP5K_MSG_USB_DEVICE_VBUS_IN*\n");
SP5KPMP_AutoPowerOff_Public_Api(AUTOPOWEROFF_DISABLE);
SP5KPMP_Usb_State = USB_Status_PlugIn;
sp5kModeGet(&mode);
if((SP5K_MODE_STILL_PREVIEW == mode) || (SP5K_MODE_STILL_SNAP == mode) || (SP5K_MODE_VIDEO_PREVIEW == mode) || (SP5K_MODE_VIDEO_RECORD == mode))
{
;
}
else if(SP5K_MODE_VIDEO_PLAYBACK == mode)
{
SP5KPMP_Lock_usb_KeyFlag = 1;
customAppMsgSend ( msgId , param );
}
else
{

SP5KPMP_Lock_usb_KeyFlag = 1;
if(0 == SP5KPMP_Open_Src)
{
SP5KPMP_Usb_ModeSet(USB_MODE_MSDC);
SP5KPMP_Open_Src = 0;
}
customAppMsgSend ( msgId , param );
}
break;
break;

case SP5K_MSG_USB_DEVICE_VBUS_OFF:

printf("\n*SP5K_MSG_USB_DEVICE_VBUS_OFF*\n");
SP5KPMP_AutoPowerOff_Public_Api(AUTOPOWEROFF_ENABLE);
SP5KPMP_Usb_State = USB_Status_PlugOut;
SP5KPMP_Open_Src = 0;
SP5KPMP_Path_Init();
sp5kModeGet(&mode);
if((SP5K_MODE_STILL_PREVIEW == mode) || (SP5K_MODE_STILL_SNAP == mode) || (SP5K_MODE_VIDEO_PREVIEW == mode) || (SP5K_MODE_VIDEO_RECORD == mode))
{
;
}
else
{
SP5KPMP_Lock_usb_KeyFlag = 0;
SP5KPMP_Usb_State = USB_Status_PlugOut;
sp5kDispDevAttrSet(SP5K_DISP_OSD_ACTIVE, 1, 0, 0, 0);
customAppMsgSend ( msgId , param );
}
break;
#endif
case SP5K_MSG_MODE_RADY:
/*printf("MODE RDY\n");*/
break;
#if 1
case SP5K_MSG_AE_READY:
{
aeResult_t aeResult;
SINT32 expidx, step, nextexp;
UINT32 ret,agcidx, nextagc;
ret = sp5kAePreviewResultGet(param,&aeResult);
if (ret != SUCCESS ||
!(aeResult.valid & AAA_INFO_RESULT_AE_VALID)) {
printf("ae result overrun\n");
} else {
/***TODO****DO NOT use fixed numbers*/
/***TODO****evinfo != evsync???*/
expidx = aeResult.evInfo.expIdx;
agcidx = aeResult.evInfo.agcIdx;
step = aeResult.aeStep;
if (expidx == 80) {
nextexp = expidx;
if ((SINT32)agcidx < step) nextagc = 0;
else nextagc = agcidx - step;
if (nextagc > 120) nextagc = 120;
else if (nextagc < 90) {
nextexp = 80+90-agcidx+step;
nextagc = 90;
if (nextexp > 144) nextexp=144;
}
} else {
nextexp = expidx + step;
nextagc = agcidx;
if (nextagc < 90) {
nextexp += 90 - nextagc;
nextagc = 90;
}
if (nextexp > 144) {
nextexp = 144;
} else if (nextexp < 80) {
nextagc = agcidx +80 - nextexp;
nextexp = 80;
if (nextagc > 120) nextagc=120;
}
}
if (expidx == nextexp)
nextexp = SP5K_AE_EXP_AGC_DONT_CHANGE;
if (agcidx == nextagc)
nextagc = SP5K_AE_EXP_AGC_DONT_CHANGE;
sp5kPreviewExpAgcSet(nextexp,nextagc);
}
break;
}
#endif

/--------------------------------------------------------------------- 世界与我同步。
2006-09-05 14:51
aladdin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-9-5
收藏
得分:0 
#if和#endif都是预处理命令。

在这的作用是条件编译:
#if 0
//这里的代码都不被编译,就相当于被注释掉了。
#endif

#if 1
//这里的代码被编译。
#endif

估计大多数C/C++书都会讲到预处理命令吧,不妨找几本来看看,会有更深的理解!
2006-09-05 16:09
kennyzhang
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-7-24
收藏
得分:0 
谢谢了,楼上的, 书上面好想没有介绍 IF 0 IF 1 的使用 其他的我到都知道,我是新手 所以有点郁闷

/--------------------------------------------------------------------- 世界与我同步。
2006-09-05 16:17
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
#if condition
//statement;
#endif
如果条件成立则编译,如果条件不成立则不编译.
#if 0是#if 0!=0 的缩写,所以条件不成立,不编译.
#if 1是#if 1!=0 的缩写,所以条件成立,则进行编译.

对不礼貌的女生收钱......
2006-09-05 16:25
kennyzhang
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-7-24
收藏
得分:0 
谢谢了,我有点了解了

/--------------------------------------------------------------------- 世界与我同步。
2006-09-05 16:47
aladdin
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-9-5
收藏
得分:0 
以下是引用soft_wind在2006-9-5 16:25:47的发言:
#if condition
//statement;
#endif
如果条件成立则编译,如果条件不成立则不编译.
#if 0是#if 0!=0 的缩写,所以条件不成立,不编译.
#if 1是#if 1!=0 的缩写,所以条件成立,则进行编译.

呵呵,请教阁下是哪位,我也是HIT的,校友阿!

2006-09-05 17:08
快速回复:大哥们#if 0 #if 1怎用使用,小弟这边有礼了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014828 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved