預編譯處理 error和 line

2021-08-20 12:56:31 字數 1621 閱讀 3452

#error用於生成乙個編譯錯誤訊息

用法

#error message

message不需要用雙引號包圍

#error編譯指示字用於自定義程式設計師特有的編譯錯誤訊息。類似的,#warning用於生成編譯警告。

#error是一種與編譯器指示字

#error可用於提示編譯條件是否滿足

#error this file should be processed with c++ compiler

#endif

編譯過程中的任意錯誤資訊意味著無法生成最終的可執行程式

示例**:#error預處理初探

#include 

#ifndef __cplusplus

#error this file should be processed with c++ compiler.

#endif

class cppclass

~cppclass()

};int main()

當用c編譯器編譯時:

ctest.c:4: error: #error this file should be processed with c++ compiler.

ctest.c:7: error: expected 『=』, 『,』, 『;』, 『asm』 or 『attribute』 before 『cppclass』

示例**:#error在條件編譯中的應用

#include 

#define product 1

void f()

int main()

輸出結果

this is a low level product!

1. query information.

2. record information.

3. delete information.

4. exit.

#line用於強制指定新的行號和編譯檔名,並對源程式的**重新編號

用法:

#line number filename

filename 可省略

#line編譯指示字的本質是重定義

line和

file

示例**:#line的使用

#include // the code section is written by a.

// begin

#line 1 "a.c"

// end

// the code section is written by b.

// begin

#line 1 "b.c"

// end

// the code section is written by delphi.

// begin

#line 1 "delphi_tang.c"

int main()

// end

預編譯之 LINE 和 FILE

在提示出錯資訊和進行錯誤處理方面,除了assert斷言外,c標準還定義了2個巨集 line 和 file 它們在許多執行出錯的場合下都很有用處。例如,可以把它們和assert聯用來更精確地定位導致assert失敗的出錯點。實際上,大多數assert實現都使用了 line 和 file 來完成它們的工...

C中 error和 line預處理

error用於自定義一條編譯錯誤 warning用於自定義一條編譯警告資訊 error和 warning常用於條件編譯的情形 line用於強制指定新的行號和編譯檔名 error預處理指令的作用是 編譯程式時,只要遇到 error就會生成乙個編譯錯誤提示資訊,並停止編譯。其語法格式為 error er...

error 和 line 使用分析

1 error的用法 error用於生成 個編譯錯誤訊息 用法 error message message不需要用雙引號包圍 error編譯指示字用於自定義程式設計師特有的編譯錯誤訊息 類似的,warning用於生成編譯警告。error是一種預編譯器指示字 error可用於提示編譯條件是否滿足 編譯...