這幾天忙著去複習了,但是心理總是不踏實,不到實驗室裡就覺得一天的生活變了個樣,現在還是晚上來這裡「搞起」吧,白天還是在複習準備考試。因為要開始學習freescale,準備明年的比賽了,覺得是時候開始搞這個了,這幾天也看了一下大概的內容,發現程式當中#pragma用的很多,每個程式都有,以前寫的**也有,但是沒有總結,現在筆者來總結一下#pragma的用法吧。
c 和c++的每個實現對它的主機或作業系統都支援一些獨有的特徵。例如, 某些程式須對存放資料的儲存器區域進行精確的控制,或必須控制特定函式接受參量的方式。#pragma 指令對每個編譯器給出了乙個方法,在保持與c 和c++語言完全相容的情況下,給出主機或作業系統專有的特徵。依據定義,編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的。
語法:1.#pragma message
#pragma message("訊息文字") 當編譯器遇到這條指令時,就在編譯輸出視窗中將訊息文字列印出來。
2.#pragma code_seg
#pragma code_seg(["section-name"["section-class"]])
它能夠設定程式中函式**存放的**段。當我們開發驅動程式時便就會使用到它。
3.#pragma once
只要在標頭檔案的最開始加入這條指令就能夠標頭檔案被編譯一次。
4.#pragma hdrstop
表示編譯標頭檔案到此為止,後面的標頭檔案不進行預編譯。
5.#pragma resouce
#pragma resouce"*.dfm"表示*.dfm檔案中的資源加入工程。*.dfm中包括了外觀定義。
6. #pragma warning
#pragma warning (disable:4507 34; once:4385; error:164) 等價於
#pragma warning (disable:4507 34) //不顯示4507和30號警告資訊
#pragma warning (once:4385) //4358號警告資訊僅報告一次
#pragma warning (error:164) //把164號警告資訊作為一種錯誤
7. #pragma comment
#pragma comment(...) 該指令將乙個注釋放入乙個物件檔案或可執行檔案中,常用lib關鍵字幫我們鏈入乙個庫檔案。如:#pragma comment(lib,"user32.lib") 該指令用來將user32.lib庫檔案加入到本工程中。
8. #pragma pack
這條指令主要用作改變編譯器的預設對齊方式。
彙總 pragma用法
現彙總 pragma用法如下 1.pragma message pragma message 訊息文字 當編譯器遇到這條指令時,就在編譯輸出視窗中將訊息文字列印出來。2.pragma code seg pragma code seg section name section class 它能夠設定程...
C語言中 pragma用法 彙總
前一段時間寫函式中斷時,經常要加上 pragma語句,否則,編譯就會出錯。有飛思卡爾的16位微控制器寫過中斷函式的人,就會知道在中斷函式前必須加上 pragma code seg near seg non banked 函式結束的時候最好加上 pragma code seg default 這個也可...
pragma用法小記
作為乙個初學cc2530晶元的菜鳥,看到很多實驗例程中都有乙個從未見過的語法 pragma,網上查閱了下,順便做下小小的總結 英語學的不怎麼樣,開始把它看成了 program故百思不得其解,查後才知道錯的有多離譜 pragma p r m n.編譯指示 雜注。pragma 指令是乙個預處理指令,作用...