欧美在线专区-欧美在线伊人-欧美在线一区二区三区欧美-欧美在线一区二区三区-pornodoxxx中国妞-pornodoldoo欧美另类

position>home>Basketball

CC++預處理指令defineifdefifndefendif…

  本來只是預處想了解一下#ifdef,#ifndef,#endif的,沒想到查出來這么多的理指令預處理指令,上面的預處多數都是常見的,但是理指令平時沒有怎么注意預處理這方面的內容,所以這里梳理一下知識吧。預處同時有什么不妥的理指令地方,或者遺漏了什么內容,預處還請留言指出。理指令

CC++預處理指令defineifdefifndefendif…

  預處理指令是預處以#號開頭的代碼行。#號必須是理指令該行除了任何空白字符外的第一個字符。#后是預處指令關鍵字,在關鍵字和#號之間允許存在任意個數的理指令空白字符。整行語句構成了一條預處理指令,預處該指令將在編譯器進行編譯之前對源代碼做某些轉換。理指令

  以前沒有在意的預處學者注意了,預處理指令是在編譯器進行編譯之前進行的操作.預處理過程掃描源代碼,對其進行初步的轉換,產生新的源代碼提供給編譯器。可見預處理過程先于編譯器對源代碼進行處理。在很多編程語言中,并沒有任何內在的機制來完成如下一些功能:在編譯時包含其他源文件、定義宏、根據條件決定編譯時是否包含某些代碼(防止重復包含某些文件)。要完成這些工作,就需要使用預處理程序。盡管在目前絕大多數編譯器都包含了預處理程序,但通常認為它們是獨立于編譯器的。預處理過程讀入源代碼,檢查包含預處理指令的語句和宏定義,并對源代碼進行響應的轉換。預處理過程還會刪除程序中的注釋和多余的空白字符。

  這個預處理指令,我想是見得最多的一個,簡單說一下,第一種方法是用尖括號把頭文件括起來。這種格式告訴預處理程序在編譯器自帶的或外部庫的頭文件中搜索被包含的頭文件。第二種方法是用雙引號把頭文件括起來。這種格式告訴預處理程序在當前被編譯的應用程序的源代碼文件中搜索被包含的頭文件,如果找不到,再搜索編譯器自帶的頭文件。采用兩種不同包含格式的理由在于,編譯器是安裝在公共子目錄下的,而被編譯的應用程序是在它們自己的私有子目錄下的。一個應用程序既包含編譯器提供的公共頭文件,也包含自定義的私有頭文件。采用兩種不同的包含格式使得編譯器能夠在很多頭文件中區別出一組公共的頭文件。

  有關#define這個宏定義,在C語言中使用的很多,因為#define存在一些不足,C++強調使用const來定義常量。宏定義了一個代表特定內容的標識符。預處理過程會把源代碼中出現的宏標識符替換成宏定義時的值。記住僅僅是進行標識符的替換。下面列舉一些#define的使用:

  * (1)三元運算符要比if,else效率高 * (2)宏的使用一定要細心,需要把參數小心的用括號括起來, * 因為宏只是簡單的文本替換,不注意,容易引起歧義錯誤。

  *首先說明,這個宏的定義是錯誤的。并沒有實現程序中的B+2的平方 * 預處理的時候,替換成如下的結果:b+2*b+2 * 正確的宏定義應該是:#define SQR(x) ((x)*(x)) * 所以,盡量使用小括號,將參數括起來。

  (絕大多數是使用不到這些的,使用到的話,查看手冊就可以了) * 第一個宏,用#把參數轉化為一個字符串 * 第二個宏,用##把2個宏參數粘合在一起,及aeb,2e3也就是2000

  WORD_HI(xxx) ((byte)((word)(xxx) 8))

  * 一個字2個字節,獲得低字節(低8位),與255(0000,0000,1111,1111)按位相與 * 獲得高字節(高8位),右移8位即可。

  關于#define宏的使用,應該特別小心,尤其是含有參數計算的時候如小2示例,最保險的做法將參數用括號括起來。

  預處理就是在進行編譯的第一遍詞法掃描和語法分析之前所作的工作。說白了,就是對源文件進行編譯前,先對預處理部分進行處理,然后對處理后的代碼進行編譯。這樣做的好處是,經過處理后的代碼,將會變的很精短。

Popular articles

主站蜘蛛池模板: 一个人看的www视频免费在线观看| 男人桶女人j的视频在线观看| 四虎影视永久在线观看| 免费看毛片网| 女人是男人的女未来1分49分| 男人j进入女人p狂躁免费观看| 久久综合久久久久| 性高清hd| 国产aⅴ一区二区三区| 欧美极品欧美日韩| 美女被羞羞网站免费下载| 色综合天天综合网国产成人网| 女人和拘做受口述| 午夜私人影院在线观看| 能播放18xxx18女同| 国产特级毛片aaaaaaa高清| 高清潢色大片| 欧美巨大黑人hd| 啊灬啊灬啊灬快灬深用力| 成人韩免费网站| 蜜桃精品免费久久久久影院| 亚洲日韩天堂| 亚洲综合色丁香婷婷六月图片| 秋葵视频在线观看在线下载| 欧美八十老太另类| 亚洲激情影院| 大伊香蕉在线观看视频wap| 性生活大片免费看| gogogo高清在线播放| 国产无套在线观看视频| 一级红色片| 大香煮伊在2020一二三久应用| 人妖视频在线观看专区| 日韩欧美在线视频| 国产精品综合一区二区三区 | 久久精品视频一区二区三区| 扒开末成年粉嫩的小缝视频| 国产精品日韩欧美一区二区三区 | 日本韩国在线视频| 免费观看男人免费桶女人视频| 通野未帆番号|