日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

应用C预处理命令

發(fā)布時(shí)間:2025/4/16 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用C预处理命令 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

********************************LoongEmbedded********************************

作者:LoongEmbedded(kandi)

時(shí)間:2011.10.17

類別:C基礎(chǔ)

********************************LoongEmbedded********************************

很多C編譯系統(tǒng)都包含預(yù)處理、編譯和連接等部分,其中C提供的預(yù)處理功能主要有下面三種:

1)????? 宏定義

2)????? 文件包含

3)????? 條件編譯

?

下面是我在開(kāi)發(fā)WINCE6.0+S3C6410的背光驅(qū)動(dòng)的時(shí)候,因?yàn)榭紤]要兼容開(kāi)發(fā)板和實(shí)際項(xiàng)目A,利用C預(yù)處理功能來(lái)處理時(shí)遇到的問(wèn)題的描述和總結(jié),利用C預(yù)處理功能所添加的應(yīng)用如下:

1)????? 在bsp_cfg.h中添加下面的宏定義

#define PROJECT_A

2)????? 在backlight_pdd.cpp下的BL_InitPWM()加入下面的條件編譯內(nèi)容

#ifdef PROJECT_A

…………………………

RETAILMSG(1, (TEXT("BL_InitPWM() define A\r\n")));

#else

………………………..

RETAILMSG(1, (TEXT("BL_InitPWM() no define A\r\n")));

#endif

上面條件編譯的作用是若所指定的標(biāo)識(shí)符PROJECT_A已經(jīng)被#define命令定義過(guò)(當(dāng)然了,如果在其他目錄下的文件定義,要使用,就必須用文件包含的方式包含進(jìn)來(lái)。),則在程序編譯階段編譯RETAILMSG(1, (TEXT("BL_InitPWM() define A\r\n")));所在的程序段;否則編譯RETAILMSG(1, (TEXT("BL_InitPWM() no define A\r\n")));所在的程序段。

?

3)????? 編譯整個(gè)BSP后生成新的NK更新之后,始終輸出BL_InitPWM() no define A,因?yàn)樵赽sp_cfg.h中定義了PROJECT_A,那么應(yīng)該輸出BL_InitPWM() define A才對(duì)啊。

?

當(dāng)時(shí)項(xiàng)目進(jìn)度很緊,一時(shí)找不出問(wèn)題在哪里,所以換了另外一種的處理方式,現(xiàn)在趁相對(duì)有空的時(shí)候來(lái)查找一個(gè)問(wèn)題的原因,經(jīng)過(guò)仔細(xì)檢查,是因?yàn)闆](méi)有在backlight_pdd.cpp下沒(méi)有把定義了宏P(guān)ROJECT_A的文件包含進(jìn)來(lái)。當(dāng)時(shí)因?yàn)樵趯?duì)背光驅(qū)動(dòng)編譯的時(shí)候沒(méi)有出現(xiàn)編譯出錯(cuò),所以就沒(méi)有注意到這個(gè)問(wèn)題,這是我對(duì)預(yù)處理命令和C語(yǔ)句的理解不太清晰所致,這里強(qiáng)調(diào)一點(diǎn)就是:預(yù)處理命令不是C語(yǔ)言的一部分,C預(yù)處理命令(主要包括宏定義命令、文件包含命令和條件編譯命令)是在預(yù)處理階段處理的,而C語(yǔ)句是在編譯階段處理的。

?

在backlight_pdd.cpp下沒(méi)有添加下面文件包含命令

#include "bsp_cfg.h"

的情況下,在預(yù)處理階段,第2)點(diǎn)的條件編譯處就被認(rèn)為是沒(méi)有定義了宏P(guān)ROJECT_A,自然而然地在程序編譯階段編譯RETAILMSG(1, (TEXT("BL_InitPWM() no define A\r\n")));所在的程序段。解決的辦法就是在backlight_pdd.cpp下添加文件包含命令#include "bsp_cfg.h"。

?

“文件包含”處理是指一個(gè)源文件可以將另外一個(gè)源文件的全部?jī)?nèi)容包含進(jìn)來(lái),即將另外的文件包含到本文件之中,這里就是把文件bsp_cfg.h的內(nèi)容包含到文件backlight_pdd.cpp中?!拔募泵羁梢怨?jié)省程序設(shè)計(jì)人員的重復(fù)勞動(dòng),比如在某個(gè)頭文件中定義了一些共用的宏定義、全局變量、結(jié)構(gòu)體、函數(shù)等等,這樣其他文件都可以通過(guò)“文件包含”命令來(lái)把這個(gè)文件包含進(jìn)來(lái),這樣就可以使用此文件中的定義了。

?

總結(jié)

以上是生活随笔為你收集整理的应用C预处理命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 懂色aⅴ国产一区二区三区 亚洲欧美国产另类 | 米奇影音 | 在线观看三级视频 | 国产睡熟迷奷系列精品视频 | 久久黑人| 超碰婷婷| 亚洲av人无码激艳猛片服务器 | 精品少妇一区二区 | 农村偷人一级超爽毛片 | 国产激情91| 91精品国产色综合久久不卡粉嫩 | 91精品国产91久久久久青草 | 欧美老女人视频 | 黄色精品在线观看 | 妹子干综合 | 国产精品12p| 黄色一级视频网站 | 亚洲成av人片在线观看无 | 国产二区电影 | 欧美高清视频一区二区 | 麻豆传媒在线观看视频 | 高潮流白浆在线观看 | 免费簧片在线观看 | 一区二区成人在线观看 | 成人免费黄色av | 日韩视频免费看 | 午夜在线播放视频 | 蜜臀av无码精品人妻色欲 | 久久精品久久久 | 欧美成人性生活片 | 波多野结衣欲乱上班族 | 奇米第四色777 | 波多野吉衣一区二区 | 久草热在线 | 97热视频 | 视频一区二区三区四区五区 | 免费观看黄色 | 国产精品国产精品国产专区蜜臀ah | 国产中文在线播放 | 日韩丝袜一区 | 中文乱码人妻一区二区三区视频 | 午夜激情福利视频 | 射一射| 日韩精品偷拍 | 蜜桃无码一区二区三区 | 国产在线97 | 国产传媒视频 | 美女一级视频 | 免费看黄色网址 | 四虎1515hh.com | 夜夜嗨av一区二区三区免费区 | 精品一区二区免费视频 | 蜜臀av88 | 国产精品黄网站 | 日韩视频一区二区三区四区 | 久久中文字幕网 | 欧美激情15p | 欧美va视频 | 国产精品第六页 | 日韩欧美综合久久 | 色福利网| 中文综合网 | 青草成人| 天堂av免费在线观看 | 中文字幕7 | 一色综合 | 欧美自拍视频 | 涩涩视频在线播放 | 日韩少妇一区二区三区 | 羞羞答答av| 秋霞影院午夜伦 | 中国美女一级片 | 国产乱在线 | 久久露脸国语精品国产91 | 亚洲激情视频 | 国产一区二区在线精品 | 操在线视频 | 成人精品一区二区三区四区 | 久久久久久久久国产 | 国产午夜精品一区二区三区 | 午夜九九九| 黄色wwww| 成人做爰69片免费 | 天天干导航 | 成人福利av| 国产1区| 日本一二三不卡视频 | 中文字幕在线播放av | 女人扒开双腿让男人捅 | 亚洲高清毛片一区二区 | 亚洲天堂日本 | 农村妇女愉情三级 | 亚洲av成人精品一区二区三区 | 纯爱无遮挡h肉动漫在线播放 | 国模大胆一区二区三区 | 国产乱人乱偷精品视频 | 国产精品揄拍100视频 | 老版水浒传83版免费播放 | 中国美女性猛交 |