#error等其他常用預(yù)處理命令
除了上面介紹的之外,C語言還有#error、#line、#pragma等其他常用的預(yù)處理命令,在很多C語言的程序中也是經(jīng)常可見的,下面簡單介紹一下它們。
1. #error
#error指令強(qiáng)制編譯程序停止編譯,它主要用于程序調(diào)試。#error指令的一般形式是:
#error error-message
注意:宏串error-message不用雙引號引起來。遇到#error指令時(shí),錯誤信息被顯示,可能同時(shí)還顯示編譯程序作者預(yù)先定義的其他內(nèi)容。
2. #line
#line指令改變__LINE__和__FILE__的內(nèi)容。__LINE__和__FILE__都是編譯程序中預(yù)定義的標(biāo)識符。__FILE__的內(nèi)容是當(dāng)前被編譯源文件的文件名。
#line標(biāo)識符__LINE__的內(nèi)容是當(dāng)前被編譯代碼行的行號,其一般形式是:
#line number "filename"
其中,number是正整數(shù)并變成__LINE__的新值;可選的“filename”是合法文件標(biāo)識符并變成__FILE__的新值。#line主要用于調(diào)試和特殊應(yīng)用。
3. #pragma
#pragma是編譯程序?qū)崿F(xiàn)時(shí)定義的指令,它允許由此向編譯程序傳入各種指令。例如:一個(gè)編譯程序可能具有支持跟蹤程序執(zhí)行的選項(xiàng),此時(shí)可以用#pragma語句選擇該功能,編譯程序忽略其不支持的#pragma選項(xiàng)。使用#pragma預(yù)處理命令可提高C源程序?qū)幾g程序的可移植性。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程