亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vc中預(yù)處理指令的詳解.txt

?? VC中預(yù)處理指令的詳解 在所有的預(yù)處理指令中
?? TXT
字號:
VC中預(yù)處理指令的詳解


在所有的預(yù)處理指令中,#Pragma  指令可能是最復(fù)雜的了,它的作用是設(shè)定編譯器的狀態(tài)或者是指示編譯器完成一些特定的動作。#pragma指令對每個編譯器給出了一個方法,在保持與C和C++語言完全兼容的情況下,給出主機或操作系統(tǒng)專有的特征。依據(jù)定義,編譯指示是機器或操作系統(tǒng)專有的,且對于每個編譯器都是不同的。  
其格式一般為:        #Pragma  Para  
       其中Para  為參數(shù),下面來看一些常用的參數(shù)。  

       (1)message  參數(shù)。  
       Message  參數(shù)是我最喜歡的一個參數(shù),它能夠在編譯信息輸出窗口中輸出相應(yīng)的信息,這對于源代碼信息的控制是非常重要的。其使用方法為:  
             #Pragma  message(“消息文本”)  
             當(dāng)編譯器遇到這條指令時就在編譯輸出窗口中將消息文本打印出來。  
       當(dāng)我們在程序中定義了許多宏來控制源代碼版本的時候,我們自己有可能都會忘記有沒有正確的設(shè)置這些宏,此時我們可以用這條指令在編譯的時候就進(jìn)行檢查。假設(shè)我們希望判斷自己有沒有在源代碼的什么地方定義了_X86這個宏可以用下面的方法  
             #ifdef  _X86  
             #Pragma  message(“_X86  macro  activated!”)  
             #endif  
             當(dāng)我們定義了_X86這個宏以后,應(yīng)用程序在編譯時就會在編譯輸出窗口里顯示“_  
X86  macro  activated!”。我們就不會因為不記得自己定義的一些特定的宏而抓耳撓腮了。  
       
     (2)另一個使用得比較多的pragma參數(shù)是code_seg。
          格式如:  
           #pragma  code_seg(  ["section-name"[,"section-class"]  ]  )  
           它能夠設(shè)置程序中函數(shù)代碼存放的代碼段,當(dāng)我們開發(fā)驅(qū)動程序的時候就會使用到它。  

     (3)#pragma  once  (比較常用)  
           只要在頭文件的最開始加入這條指令就能夠保證頭文件被編譯一次,這條指令實際上在VC6中就已經(jīng)有了,但是考慮到兼容性并沒有太多的使用它。  
       
     (4)#pragma  hdrstop表示預(yù)編譯頭文件到此為止,后面的頭文件不進(jìn)行預(yù)編譯。
       BCB可以預(yù)編譯頭文件以加快鏈接的速度,但如果所有頭文件都進(jìn)行預(yù)編譯又可能占太多磁盤空間,所以使用這個選項排除一些頭文件。    
         有時單元之間有依賴關(guān)系,比如單元A依賴單元B,所以單元B要先于單元A編譯。你可以用#pragma  startup指定編譯優(yōu)先級,如果使用了#pragma  package(smart_init)  ,BCB就會根據(jù)優(yōu)先級的大小先后編譯。    
       
     (5)#pragma  resource "*.dfm"表示把*.dfm文件中的資源加入工程。*.dfm中包括窗體  
外觀的定義。    
         
    (6)#pragma  warning(  disable  :  4507  34;  once  :  4385;  error  :  164  )  
           等價于:  
           #pragma  warning(disable:4507  34)    //  不顯示4507和34號警告信息  
           #pragma  warning(once:4385)                //  4385號警告信息僅報告一次  
           #pragma  warning(error:164)                //  把164號警告信息作為一個錯誤。  
           同時這個pragma  warning  也支持如下格式:  
           #pragma  warning(  push  [  ,n  ]  )  
           #pragma  warning(  pop  )  
           這里n代表一個警告等級(1---4)。  
           #pragma  warning(  push  )保存所有警告信息的現(xiàn)有的警告狀態(tài)。  
           #pragma  warning(  push,  n)保存所有警告信息的現(xiàn)有的警告狀態(tài),并且把全局警告  
等級設(shè)定為n。    
           #pragma  warning(  pop  )向棧中彈出最后一個警告信息,在入棧和出棧之間所作的  
一切改動取消。例如:  
           #pragma  warning(  push  )  
           #pragma  warning(  disable  :  4705  )  
           #pragma  warning(  disable  :  4706  )  
           #pragma  warning(  disable  :  4707  )  
           //.......  
           #pragma  warning(  pop  )    
           在這段代碼的最后,重新保存所有的警告信息(包括4705,4706和4707)。  

   (7)pragma  comment(...)  
             該指令將一個注釋記錄放入一個對象文件或可執(zhí)行文件中。  
           常用的lib關(guān)鍵字,可以幫我們連入一個庫文件。  

   (8)用pragma導(dǎo)出dll中的函數(shù)
    傳統(tǒng)的到出 DLL 函數(shù)的方法是使用模塊定義文件 (.def),Visual C++ 提供了更簡潔方便的方法,那就是“__declspec()”關(guān)鍵字后面跟“dllexport”,告訴連接去要導(dǎo)出這個函數(shù),例如:__declspec(dllexport) int __stdcall MyExportFunction(int iTest);    把“__declspec(dllexport)”放在函數(shù)聲明的最前面,連接生成的 DLL 就會導(dǎo)出函數(shù)[email=“_MyExportFunction@4]“_MyExportFunction@4[/email]”。
    上面的導(dǎo)出函數(shù)的名稱也許不是我的希望的,我們希望導(dǎo)出的是原版的“MyExportFunction”。還好,VC 提供了一個預(yù)處理指示符“#pragma”來指定連接選項 (不僅僅是這一個功能,還有很多指示功能) ,如下:
    #pragma comment(linker,"/EXPORT:MyExportFunction=_MyExportFunction@4")
    這下就天如人愿了:)。如果你想指定導(dǎo)出的順序,或者只將函數(shù)導(dǎo)出為序號,沒有 Entryname,這個預(yù)處理指示符 (確切地說是連接器) 都能夠?qū)崿F(xiàn),看看 MSDN 的語法說明:
       /EXPORT:entryname[,@ordinal[,NONAME]][,DATA]
     @ordinal 指定順序;NONAME 指定只將函數(shù)導(dǎo)出為序號;DATA 關(guān)鍵字指定導(dǎo)出項為數(shù)據(jù)項。

   (9)每個編譯程序可以用#pragma指令激活或終止該編譯程序支持的一些編譯功能。
     例如,對循環(huán)優(yōu)化功能:  
     #pragma  loop_opt(on)            //  激活  
     #pragma  loop_opt(off)    //  終止  
有時,程序中會有些函數(shù)會使編譯器發(fā)出你熟知而想忽略的警告,如“Parameter  xxx  is  never  used  in  function  xxx”,可以這樣:  
#pragma  warn  —100            //  Turn  off  the  warning  message  for  warning  #100  
int  insert_record(REC  *r)  
{  /*  function  body  */  }  
#pragma  warn  +100                        //  Turn  the  warning  message  for  warning  #100  back  on  
函數(shù)會產(chǎn)生一條有唯一特征碼100的警告信息,如此可暫時終止該警告。  
每個編譯器對#pragma的實現(xiàn)不同,在一個編譯器中有效在別的編譯器中幾乎無效。可從編譯器的文檔中查看。  
一個很重要的參數(shù)
#pragma pack(n)
數(shù)據(jù)邊界對齊方式:
以如下結(jié)構(gòu)為例: struct {
                   char a;
                   WORD b;
                   DWORD c;
                   char d;
                  }
在Windows默認(rèn)結(jié)構(gòu)大小: sizeof(struct) = 4+4+4+4=16;
與#pragma pack(4)一樣
若設(shè)為 #pragma pack(1), 則結(jié)構(gòu)大小: sizeof(struct) = 1+2+4+1=8;
若設(shè)為 #pragma pack(2), 則結(jié)構(gòu)大小: sizeof(struct) = 2+2+4+2=10;
在#pragma pack(1)時:空間是節(jié)省了,但訪問速度降低了;
有什么用處???
在系統(tǒng)通訊中,如和硬件設(shè)備通信,和其他的操作系統(tǒng)進(jìn)行通信時等,必須保證雙方的一致性。

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91日韩精品一区| 麻豆91在线播放| 欧亚一区二区三区| 一区二区三区国产精华| 在线免费不卡电影| 亚洲国产va精品久久久不卡综合| 欧美日韩国产大片| 精品一区二区精品| 日本一区二区三区dvd视频在线| av不卡免费电影| 亚洲一区二区欧美日韩| 欧美大片在线观看| 成人开心网精品视频| 亚洲影院在线观看| 欧美精品一区视频| 99热99精品| 日韩vs国产vs欧美| 午夜久久电影网| 日韩精品中午字幕| 高潮精品一区videoshd| 一卡二卡欧美日韩| 久久久久国产精品人| 在线亚洲免费视频| 激情另类小说区图片区视频区| 久久久www成人免费无遮挡大片| 99久久精品国产一区| 日韩高清一区二区| 国产精品免费aⅴ片在线观看| 色域天天综合网| 精东粉嫩av免费一区二区三区| 中文在线免费一区三区高中清不卡| 91网上在线视频| 激情综合一区二区三区| 亚洲图片欧美激情| 精品欧美黑人一区二区三区| gogogo免费视频观看亚洲一| 日韩高清国产一区在线| 国产精品国产三级国产普通话99 | 丁香网亚洲国际| 亚洲综合激情另类小说区| 日韩精品自拍偷拍| 欧美性videosxxxxx| 成人av先锋影音| 久久国产夜色精品鲁鲁99| 亚洲欧美日韩国产手机在线 | 97久久精品人人做人人爽| 色综合久久综合网| 精品亚洲国产成人av制服丝袜 | 亚洲国产精品一区二区久久恐怖片| 欧美tickling网站挠脚心| 色狠狠av一区二区三区| 国产成人av电影在线观看| 免费观看成人av| 午夜免费欧美电影| 一区二区三区日韩精品视频| 中文av一区二区| www国产成人免费观看视频 深夜成人网| 91高清视频免费看| 色综合咪咪久久| www.亚洲精品| 成人国产精品视频| 福利电影一区二区三区| 久久精品国产99国产| 丝瓜av网站精品一区二区| 一区二区三区四区不卡在线| 国产精品国产三级国产普通话三级| 久久一夜天堂av一区二区三区| 欧美日韩国产小视频在线观看| 色狠狠av一区二区三区| 色哟哟亚洲精品| 欧洲中文字幕精品| 欧美最新大片在线看| 日本丶国产丶欧美色综合| 91在线观看美女| 91视频在线看| 欧美中文字幕久久 | 666欧美在线视频| 欧美一区二区三区在| 日韩一区二区三| 欧美xfplay| 国产欧美日本一区视频| 国产精品不卡一区二区三区| 综合精品久久久| 亚洲一区二区三区视频在线| 香蕉久久一区二区不卡无毒影院| 亚洲高清视频中文字幕| 免费高清在线一区| 久久国产精品99精品国产| 极品销魂美女一区二区三区| 狠狠狠色丁香婷婷综合激情| 国产成人久久精品77777最新版本| 国产美女久久久久| 99vv1com这只有精品| 亚洲精品一区二区在线观看| 久久精品人人做人人爽97| 国产精品情趣视频| 亚洲综合999| 免费观看一级特黄欧美大片| 国产精品一区二区无线| 99精品国产热久久91蜜凸| 欧美日韩亚洲综合在线| 欧美成va人片在线观看| 中国av一区二区三区| 亚洲男同性恋视频| 久久国产精品99久久久久久老狼| 国产成人啪免费观看软件| 色婷婷av一区二区三区大白胸| 7777精品伊人久久久大香线蕉超级流畅 | 欧美一区二区网站| 欧美国产精品一区| 午夜日韩在线观看| 国产成人免费视频| 欧美日本高清视频在线观看| 久久精品男人的天堂| 亚洲国产中文字幕在线视频综合| 激情国产一区二区| 欧美丝袜自拍制服另类| 久久新电视剧免费观看| 亚洲制服欧美中文字幕中文字幕| 久久国产夜色精品鲁鲁99| 91福利资源站| 欧美激情中文不卡| 视频一区免费在线观看| 成人中文字幕电影| 欧美一级久久久久久久大片| 亚洲欧洲另类国产综合| 另类小说欧美激情| 欧洲人成人精品| 国产精品国产三级国产普通话蜜臀 | 色播五月激情综合网| 日韩精品一区二区三区蜜臀| 亚洲精品一二三区| 国产精品996| 日韩欧美一二三四区| 亚洲与欧洲av电影| 成人黄色在线视频| 精品国产凹凸成av人网站| 亚洲成人资源网| 色婷婷久久久久swag精品| 中文天堂在线一区| 国产精品一二二区| 精品久久久网站| 日韩av在线播放中文字幕| 91福利国产精品| 亚洲视频小说图片| 豆国产96在线|亚洲| 国产亚洲精品超碰| 国产一本一道久久香蕉| 欧美日本不卡视频| 成人小视频免费在线观看| 欧美一二三区精品| 日韩av一二三| 91精品国产综合久久香蕉麻豆| 一区二区三区 在线观看视频 | 欧洲视频一区二区| 亚洲精品五月天| 色综合一个色综合亚洲| 国产精品久久毛片a| 成人黄色电影在线| 国产精品沙发午睡系列990531| 韩国女主播成人在线| 精品国产青草久久久久福利| 三级久久三级久久| 88在线观看91蜜桃国自产| 日韩黄色在线观看| 欧美大胆人体bbbb| 国产综合色产在线精品| 久久精品在线免费观看| 国产精品99久久不卡二区| 国产日产欧美一区二区视频| 国产成人亚洲综合a∨婷婷| 久久久久久一级片| 成人h动漫精品一区二| 日韩一区在线免费观看| 色婷婷综合激情| 亚洲观看高清完整版在线观看| 欧美日韩国产成人在线91 | 黑人巨大精品欧美一区| 欧美精品一区二区三区久久久| 黑人精品欧美一区二区蜜桃| 久久久不卡影院| 色综合久久久久综合体| 亚洲成人午夜影院| 精品国产乱码久久久久久图片| 国产精品一卡二卡在线观看| 中文字幕一区免费在线观看| 色婷婷亚洲精品| 青娱乐精品视频| 欧美韩日一区二区三区四区| 91麻豆精东视频| 日韩一区欧美二区| 久久精品网站免费观看| 91色九色蝌蚪| 美女脱光内衣内裤视频久久网站 | 国产综合色视频| 亚洲图片你懂的| 日韩一区二区三区四区五区六区| 国产成人午夜精品影院观看视频 | 精品美女一区二区| 99久久精品国产网站|