標頭檔案保護符和 pragma once

2021-04-23 07:26:30 字數 648 閱讀 7435

#if !defined(afx_***_h__a06facfb_de47_4bcd_abb3_3ae66c6d9765__included_)

#define afx_***__a06facfb_de47_4bcd_abb3_3ae66c6d9765__included_

#if _msc_ver > 1000

#pragma once

#endif // _msc_ver > 1000

#endif // !defined(afx_***__a06facfb_de47_4bcd_abb3_3ae66c6d9765__included_)

可能有些人覺得標頭檔案保護符和#pragma once重複了,其實不然。

#if !define ...

#define ...

#endif

編譯器每次讀到#if !define 時,如果已經定義過了則跳過,但還是要搜尋整個檔案,找到#endif 時退出,此時無疑增加了編譯時間。而加上#pragma once一句,則可以讓編譯器立即退出,減少了編譯的時間。

綜上,一般用法為:

#if !defined ...

#define ...

#pragma once

...#endif // !defined (...)

C 標頭檔案保護符

在看 的時候經常會碰到 ifndef endif這樣的指令,這個的作用是標頭檔案保護符,用於防止同一標頭檔案的多次包含 預處理變數有兩種狀態 已定義和未定義 define 命令使得某一預處理變數變為已定義 ifdef 命令當且僅當變數已定義時成真 ifndef命令當且僅當未定義時成真 若檢查結果為真...

C 鞏固與知新 標頭檔案保護符

首先,我非常激動,又來了iteye論壇。看了看自己原來寫的幾篇部落格,那都是2013年的事了,並沒有堅持下來,當然,也給自己找了個藉口,學習太忙了。現在稍微清閒一點,我覺得還是有寫部落格的必要了。c 早在大一的時候就學過,前陣子為了考試也看過些許時間,但是,總的來說還是走馬觀花,現在重新研讀 c p...

標頭檔案保護

一 pragma once 比較常用 這是乙個比較常用的指令,只要在標頭檔案的最開始加入這條指令就能夠保證標頭檔案被編譯一次 pragma once用來防止某個標頭檔案被多次include,ifndef,define,endif用來防止某個巨集被多次定義。pragma once是編譯相關,就是說這個...