在預處理階段,就是預處理器對預處理命令進行處理,常用的預處理命令主要包括三類:
1、巨集定義,2、檔案包含,3、條件編譯。
巨集定義,#define ;實際上在effective c++中,並不太建議使用define,建議盡量使用const,inline,enum替換#define,
原因在於define的常量在編譯器處理之前已經完成替換,所以沒有進入符號表,導致如果出現問題,不好跟蹤定位。
檔案包含,#include
條件編譯命令較多,常用的有:
#ifdef
#ifndef
#endif
通過條件編譯可以避免標頭檔案被重複包含的問題。
如:在標頭檔案中做如下定義
#ifndef kernel_monitor_h
#define kernel_monitor_h
#endif
如上就可以避免對kernel_monitor.h這個標頭檔案重複包含。
預處理命令
和 操作符是和 define 巨集使用的.使用 使在 後的首個引數返回為乙個帶引號的字串.例如,命令 define to string s s將會使編譯器把以下命令 cout to string hello world endl 理解為 cout hello world endl 使用 鏈結 前後的...
預處理命令
我們可以在c源程式中插入傳給編譯程式的各中指令,這些指令被稱為預處理器指令,它們擴充了程式設計的環境。現把常用的預處理命令總結如下 1.預處理程式 按照ansi標準的定義,預處理程式應該處理以下指令 if ifdef ifndef else elif endif define undef line ...
預處理命令
ansi c標準規定可以在c源程式中加入一些 預處理命令 來改進程式設計環境,提高程式設計效率。這些預處理指令都是由ansi c統一規定的,但是它並不是c語言本身的組成部分,不能直接對其進行編譯。c語言和其它高階程式語言的乙個重要區別就是可以使用預處理指令和它的預處理功能。預處理是指由預處理程式負責...