預處理與巨集定義 筆記

2022-05-04 02:45:06 字數 904 閱讀 7945

2017-09-18 10:45:21

預處理1.預處理的指令和功能

以「#」開頭的語句

#include 檔案包含

#include 在標準庫下面找

#include "stdio.h" 在當前工作路徑下查詢 自定義標頭檔案的包含形式

區別:查詢的路徑不相同

#define 巨集定義

不帶引數的巨集和帶引數的巨集

#define pi 3.14

#define max(a,b) a>b?a:b

better-> max(a,b) (a)>(b)?(a):(b)

int result = max(3,5); 3>5?3:5;

操作符 ##

#define var(n) v##n

當使用這種方式應用巨集: var(1),預處理時,將會得到:v1

int i;

for(i = 1;i < 100;i++)

int var(i);

//int v1; int v2;int v3;

2.條件編譯(後接常量表示式)

#if    #else    #endif

#if    #elif    #else    #endif

#ifdef    如果定義了

#ifndef    如果沒有定義(在標頭檔案中運用最多) 目的:防止重複定義!!!

在標頭檔案中進行函式的宣告和變數的宣告,結構體的宣告;

在c檔案中進行變數定義,函式編寫;

#undef 巨集名 取消巨集定義

3.預定義的巨集名

__date__ 當前源程式的建立日期

__file__ 當前源程式的檔名稱

__line__ 當前被編譯**的行號

__time__ 當前源程式的建立時間

預處理 巨集定義

1,預處理 預處理是指在進行編譯的第一遍掃瞄 詞法掃瞄和語法分析 之前所作的工作。預處理是 語言的乙個重要功能,它由預處理程式負責完成。當對乙個原始檔進行編譯時,系統將自動引用預處理程式對源程式中的預處理部分作處理,處理完畢自動進入對源程式的編譯。語言提供了多種預處理功能,如巨集定義 檔案包含 條件...

讀書筆記 預處理 巨集定義

1 編譯工具鏈 預處理用預處理器,編譯用編譯器,彙編用彙編器,鏈結用鏈結器,這幾個工具再加上其他一些額外的會用到的可用工具,合起來叫編譯工具鏈。gcc就是乙個編譯工具鏈。2 預處理的意義 1 編譯器本身的主要目的是編譯源 將c的源 轉化成.s的彙編 編譯器聚焦核心功能後,就剝離出了一些非核心的功能到...

C 預處理 巨集定義

開發乙個 c語言程式,讓它暫停 5 秒以後再輸出內容 helllo 並且要求跨平台,在 windows 和 linux 下 include 說明 在windows 作業系統和 linux作業系統下,生成原始碼不一樣 if win32 如果是windows平台,就執行 include elif lin...