多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > C語言筆記之條件編譯

C語言筆記之條件編譯

來源:程序員人生   發布時間:2015-05-06 08:37:34 閱讀次數:3227次

上篇文章中主要介紹了#define的用法,本文介紹幾個它的“近親”。

1、#undef

C語言不允許對同1個宏名稱重復定義,比以下面的寫法編譯時會報錯:

#define R 3 #define R 4
那末#undef就是用來取消對1個宏名的定義的,取消以后我們才可以重新使用它。

#define R 3 #undef R #define R 4
即便開始沒有定義 R ,取消 R的定義也是合法的。如果想使用1個特定名字,但又不能肯定前面是不是已使用了該名字,為安全起見,就能夠取消該名字的定義。


2、#ifdef #ifndef #else #endif

先擺代碼:

#ifndef HEADER_FILENAME #define HEADER_FILENAME #endif

看名字就可以猜到這是啥意思,#ifdef 是指如果某個宏名被定義了,那末履行該命令和#endif或#else之間的代碼;而#ifndef恰好相反,如果某個宏名沒被定義,那末履行它和#endif或#else之間的代碼。這些中間的代碼既可以是預處理命令,還可以是普通代碼。如:

#if MACHINE == 68000 int x; #else long x; #endif

#ifdef #else 格式非常類似于C中 的if else 。主要差異為預處理器不能辨認標記代碼塊的花括號 {} ,因此使用#else (如果需要)和#endif (必須存在)來標記指令塊。這些條件結構可以嵌套。

1般地,當某文件包括幾個頭文件,而且每一個頭文件都可能定義了相同的宏肘,使用#ifndef可以避免對該宏重復定義。此時,第1個頭文件中的定義變成有效定義,而其他頭文件中的定義則被疏忽。為何會屢次包括同1文件呢?最多見的緣由是許多包括文件本身包括了其他文件,因此可能顯式地包括其他文件己經包括的文件。為何這會成為問題呢?由于頭文件中的有些語句在-個文件中只能出現1次(如結構類型的聲明)。標準C頭文件使用#ifndef技術來避免屢次包括。


3、#if 和#elif 指令
它們更接近常規的 C中的 if和else,后跟常量整數表達式。如果表達式為非零值,則表達式為真。在該表達式中可使用 C的關系運算符和邏輯運算符。

許多新的實現提供另外一種方法來判斷-個名字是不是已定義。不需使用:
#ifdef VAX
而是采取下面的情勢:
#if defined (VAX)
這里, defined 是1個預處理器運算符,如 果defined 的 參數已用#define 定義過 , 那末defined 返回1 ,否則返回 0。這類新方法的優點在于它可以和#elif1起使用。

#if defined (lBMPC) <span style="white-space:pre"> </span>#include "ibmpc.h' #elif defined (VAX) <span style="white-space:pre"> </span>#include "vax.h' #elif defined (MAC) <span style="white-space:pre"> </span>#include "mac.h" #else <span style="white-space:pre"> </span>#include 'general.h' #endif

4、#error  #line #progma
以后補充,用的太少了。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 最近中文字幕免费完整国语 | 久久免费精品 | 国产在线永久视频 | 国产精品久久久久国产精品三级 | 欧美一级毛片图 | 日韩三级免费 | 国产精品一区不卡 | 国产成人精品日本亚洲18图 | 最近中文字幕完整国语视频 | 亚洲网站免费观看 | 亚洲精品国自产拍在线观看 | 久久www免费人成_看片高清 | 情侣偷偷看的羞羞视频网站 | 亚洲第一影视 | 性视频久久 | 亚洲一区二区欧美日韩 | 91精品国产闺蜜国产在线闺蜜 | 成 人 免费 网站 | 欧美一区二区精品 | 欧美国产日韩一区 | 欧美一区2区 | 亚洲成人黄色网址 | 亚洲an日韩专区在线 | 亚洲五月婷婷 | 日韩一区二区三区四区区区 | 日本综合在线 | 欧美黑人粗大 | jizz亚洲日本| 亚洲免费人成在线视频观看 | 欧美国产亚洲精品高清不卡 | 在线观看操 | 亚洲精品久久77777 | 亚洲欧美日韩人成 | 久久99精品一级毛片 | 亚洲精品无码专区在线播放 | 亚州免费视频 | 国产成年网站v片在线观看 国产成人 免费观看 | 有码在线视频 | 亚洲在线视频免费 | 欧美xxxx做受欧美人妖 | 成人免费视频在线看 |