Linux C預處理命令

2021-08-17 15:40:19 字數 1148 閱讀 9212

無引數巨集定義一般形式為:

#define 標識字串

例:使用無引數巨集計算圓的面積

#include "stdafx.h"

#define p 3.1415*2*2

int _tmain(int argc, _tchar* argv)

有引數的巨集類似於有引數的函式,其定義的一般形式為:

#define 識別符號(形象表) 字串

如果有多個形參,像函式引數一樣已逗號隔開。在程式中使用有引數巨集的形式是:

識別符號(實參表)

例:有引數巨集的實現方法。

#include "stdafx.h"

#define max(x,y)( x.y?x:y)

main()

int  a=1,b=2,max;

max=max(a,b);

printf;

包含命令中的檔名可以用雙引1號括起來,也可以用尖 括號括起來。例

如以下寫法都是允許的:

#include"stdio.h"

#in ci ud e

但是這兩種形式是有區別的:使用尖括號表示在包含檔案目錄中去查詢(包含目錄是由使用者在設定環境時設定的),而不在源檔案目錄去查詢;使用雙弓|號則表示首先在當前的源檔案目錄中查詢,若未找到才到包含目錄中去查詢。使用者程式設計時可根據自己檔案所在的目錄來選擇某一種命令形式。

一乙個include命令只能指定乙個被包含檔案,若有多個檔案要包含,則需用多個include命令。

檔案包含允許巢狀,即在乙個被包含的檔案中又可以包含另乙個檔案。

預處理程式提供了條件編譯的功能。可以按不同的條件去編譯不同的程式部分,因而產生不同的目標**檔案。這對於程式的移植和除錯是很有用的。

1、第一種形式:                       

#ifdef 識別符號

程式段1

#else

程式段2

#endif

2、第二種形式:                       

#ifndef 識別符號

程式段1

#else

程式段2

#endif

3、第三種形式

#if 常量表示式

程式段1

#else

程式段2

#endif

Linux C 預處理命令

1 巨集定義 定義 c語言標準中允許程式用乙個識別符號來表示乙個字串,稱為巨集。在編譯預處理時,將程式中所有的巨集名用相應的字串來替換,這個過程稱為巨集替換。注 a 巨集定義是由源程式中的巨集定義命令完成的。巨集代替是由預處理程式自動完成的。b 巨集定義和其他編譯處理命令不是以分號結尾的。c 巨集定...

Linux C 預處理命令

c語言標準允許在程式中用乙個識別符號來表示乙個字串,成為巨集。識別符號為巨集名 在編譯預處理時,將程式中所有的巨集名用相應的字串來替換,這個過程稱為巨集替換,巨集分為兩種 無引數的巨集和有引數的巨集。1.無引數的巨集 無引數巨集定義的一般形式為 define 識別符號字串 例如 2.有引數的巨集定義...

Linux C語言預處理命令

c語言的源 中可以包括各種編譯指令,這些指令就稱之為預處理命令。雖然它們實際上不是c語言的一部分,但卻擴充套件了c程式設計的環境,預處理程式和注釋簡化程式開發過程,並且提高程式的可讀性。然而這些命令是在編譯前由預處理程式對原始檔的預處理檔案進行加工。預處理是在c語言編譯的4個階段 預處理 編譯 彙編...