其他預編譯指令

2022-05-28 11:09:09 字數 904 閱讀 1874

#error指令使預處理器發出一條錯誤訊息,然後停止執行預處理。

#error 一般形式為#error info,如#error mfc requires c++ compilation。

#line指令用於重新設定當前由__file__和__line__巨集指定的原始檔名字和行號。

#line一般形式為#line number "filename",其中行號number為任何正整數,檔名filename可選。#line主要用於除錯及其它特殊應用,注意在#line後面指定的行號數字是表示從下一行開始的行號。

#pragma指令可能是最複雜的預處理指令,它的作用是設定編譯器的狀態或指示編譯器完成一些特定的動作。

#pragma一般形式為#pragma para,其中para為引數,下面介紹一些常用的引數。

#pragma once,只要在標頭檔案的最開始加入這條指令就能夠保證標頭檔案被編譯一次。

#pragma message("info"),在編譯資訊輸出視窗中輸出相應的資訊,例如#pragma message("hello")。

#pragma warning,設定編譯器處理編譯警告資訊的方式,例如#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 comment(…),設定乙個注釋記錄到物件檔案或者可執行檔案中。常用lib注釋型別,用來將乙個庫檔案鏈結到目標檔案中,一般形式為#pragma comment(lib,"*.lib"),其作用與在專案屬性鏈結器「附加依賴項」中輸入庫檔案的效果相同。

預處理器(6)其他預編譯指令

include error 陣列未分配空間!int main 編譯器會生成如下錯誤資訊 main.cpp 4 fatal error c1189 error 陣列未分配空間!生成 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 通過 error指令我們可以自定義錯誤資訊。我感覺這個用處不大 ...

C 預編譯指令

下面對c 中的預編譯指令進行介紹 1.define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義...

pragma預編譯指令

它的作用是設定 編譯器的狀態或者是指示編譯器完成一些特定的動作。其格式一般為 pragma para。其中para 為引數,下面來看一些常用的引數 message 引數能夠在編譯資訊輸出視窗中輸出相應的資訊,這對於 源 資訊的控制是非常重要的。其使用方法為 1 pragma message 訊息文字...