c 避免多重包含

時間 2021-08-30 10:26:39

1樓:匿名使用者

一般避免多重包含的方法是

#ifndef _vip_cxj_common_type_h_

#define _vip_cxj_common_type_h_

...中間寫你的**

...#endif

現在開始解釋。

#ifndef _vip_cxj_common_type_h_中的_vip_cxj_common_type_h_一般可以隨便選不是固定的。為了好記一般都是直接把你的標頭檔案名全部大寫後,「.」用「_」代替。

比如你的標頭檔案名為header.h,那麼就寫成_header_h_

其實這東西寫什麼都無所謂,但是必須是獨一無二的,所以用標頭檔案名改過來最保險。接下來聽我解釋為啥它是啥都無所謂。

根據這段巨集,如果沒定義_vip_cxj_common_type_h_,那麼定義_vip_cxj_common_type_h_,並且執行你的**。然後當你這個標頭檔案第二次被包含時,因為已經定義了_vip_cxj_common_type_h_,所以#ifndef _vip_cxj_common_type_h_(如果沒定義_vip_cxj_common_type_h_)的條件就沒能滿足,自然也不會再次編譯你if裡面的**,於是就做到了避免重複包含的功能。

當然vs編譯器還有個比較快捷的避免重複包含標頭檔案的辦法,就是在標頭檔案的開頭寫上這個:#pragma once

2樓:

#ifndef

#define ***

...(程式體)

...#endif

還有個#pxxonce什麼的忘記了,

基本用上面那種就可以了

因為這是編譯前做的預處理,如果已經處理過,就是說已經預處理過(已經定義了***),把上面的程式體包含程序序,那下次再進入這裡,因為已經define了***,那就不會被再執行了。

大概是這樣,解釋得不好,請見諒。

3樓:匿名使用者

其最基本的作用,就是避免多次編譯。

主要是在.h檔案之間應用時的一些說明

例如#ifndef unicodesourece_h /假如沒有定義unicodesourece_h

#define unicodesourece_h /那麼定義unicodesourece_h

有時候還對一些變數進行說明

#ifndef _win32_ie /假如沒有定義 _win32_ie

#define _win32_ie 0x0700 /那麼定義它的值為0x0700

#endif /結束定義

這樣的話就會有效避免重複定義

避免多次編譯,在 檔案最前面加上 program once也行

作用差不多

c多條件搜尋,C 多重搜尋,兩個條件進行查詢

你的下拉選單繫結的資料庫,selectedvalue設定為id,然後用字串拼出來 string str select from 表 where 產品連線方式 產品連線方式下拉表.selectedvalue and 產品工作電流 已經發過去了 給分 c 中如何實現多條件查詢?前提是你的多條件查詢是在什...

c中如何包含cpp檔案,C 如何在一個cpp檔案中引用另外一個cpp檔案中的類物件

tn瓶邪 h是 標頭檔案 cpp 是原始檔 c 中。通常 將struct class define typedef function 等的定義放到標頭檔案中,而將 成員宣告 和 function實現 類實現 放入cpp中。h和cpp中同時可以使用include包含標頭檔案,但是通常有個習慣,就是儘量...

單身力有多重呀,如何避免在戀愛過程中喪失單身力?

所謂單身力,就是保持單身的能力,也就是不依靠外人,能夠獨立生活的能力。一般來說,單身力分為物質方面和精神層面。在物質方面,當然就是能夠吃飽穿暖,能通過自己的能力,不但能夠在社會上生存下去,還能過得很好。而精神方面,則大抵包括個人的思想和情感。在思想上能夠保持主見,對事情有著一定的見解,不容易受到外界...