1樓:櫻信全無
所有的標頭檔案保護一般都是如此寫的
#ifndef x
#define x
......
#endif
這個x要寫成什麼沒有任何規定的,只要在工程中不要跟其他的巨集定義衝突重複就可以了。
在vc下等同於 #pragma once
2樓:兔子和小強
這個都可以,風格而已。
只要取個唯一的識別符號即可。
不過要注意
#ifndef *** //上下兩個識別符號要相同#define ***
#endif
這東西不叫什麼標頭檔案保護,是為了防止重複include
c的標頭檔案保護問題
3樓:納天藍逢杉
這個都可以,風格而已。
只要取個唯一的識別符號即可。
不過要注意
#ifndef
***//上下兩個識別符號要相同
#define
***#endif
這東西不叫什麼標頭檔案保護,是為了防止重複include
4樓:盈安青方瀾
所有的標頭檔案保護一般都是如此寫的
#ifndef
x#define
x......
#endif
這個x要寫成什麼沒有任何規定的,只要在工程中不要跟其他的巨集定義衝突重複就可以了。
在vc下等同於
#pragma
once
c++標頭檔案保護符
5樓:風林火陰山雷
您好!很高興為您解答。
c++中,一般我們會為了防止標頭檔案被包含多次,都會在每個標頭檔案中寫與如下類似的**:
#ifndef a_h
#define a_h
......//標頭檔案內容
#endif
標頭檔案第一次被包含時,因為沒有巨集定義過「a_h」,因此經過語句
「#ifndef a_h
#define a_h
」並得到執行後,「a_h」就被定義了,並且標頭檔案的內容會進入編譯,直到遇見「#endif」。
而一旦該標頭檔案即將被錯誤地包含第二次時,與語句「#ifndef a_h」不符,因為第一次你已經定義過「a_h」了,所以「#ifndef a_h」之後的語句不會進入編譯了,直到遇見「#endif」。
若標頭檔案被包含一次以上,編譯時都會報錯。c++標頭檔案保護符的目的就是避免這類錯誤。
望採納~若您還有不明白之處,歡迎繼續追問~
6樓:匿名使用者
#ifndef abc_h
#define abc_h
標頭檔案#endif
7樓:青雲
巨集唄,是給編譯器在編譯時看的。執行時不起作用,在編譯器被編譯器根據巨集來保護。不知你懂我的意思了沒。
c語言標頭檔案問題
8樓:唉唉唉
假如我沒猜錯的話,這個應該是系統本來就有的乙個庫
因為你看啊,他的語句system就是呼叫系統本來的質量
不信你去系統的cmd玩玩,system的指令都是可以執行到cmd裡的
9樓:樂酷科技
把這一行注釋掉一樣可以執行吧
10樓:又似這樣
沒有用這個有檔案裡面的東西還是可以執行的吧,應該是這樣
c 怎麼使用標頭檔案保護符(header guard)
11樓:匿名使用者
#ifndef aaa
#define aaa
。。。。。
#endif
或者#ifdef aaa
。。。。。
#endif
12樓:匿名使用者
#ifndef abc_h_
#define abc_h_
#endif
c語言裡防止標頭檔案被重複定義的問題?
13樓:匿名使用者
graphics.h顯然是不行的,.在c語言中有專門的含義
另外巨集最好是遵循大寫的風格,約定俗成,不是說小寫不行,而是會帶來理解上的麻煩。
14樓:匿名使用者
恩,樓上對的,巨集定義約定用大寫,其實用graphics_h也不會報錯
graphics.h不是合法的巨集名,因為.,巨集名只能由字母數字下劃線組成,且以字母或下劃線開頭
15樓:匿名使用者
可以寫成graphics_h,但是通常巨集定義都寫成大寫的。 不能寫成graphics.h,巨集定義不能使用.來連線,語法錯誤
c++ 怎麼使用標頭檔案保護符(header guard)
16樓:匿名使用者
一般我們會為了防止標頭檔案被包含多次,都會在每個標頭檔案中寫與如下類似的**:
// a.h
#ifndef a_h
#define a_h
//內容
#endif
這樣,你如果在兩個地方都有這個語句:
#include "a.h"
那麼這個標頭檔案將被保證只被加入一次,你知道為什麼會只加入一次嗎?因為a_h這個巨集定義哈。
然後這樣其實也可以的:
如: //a.h
什麼也不加..
呼叫時:
第一次呼叫
#ifndef a_h
#define a_h
#include "a.h"
#endif
第二次呼叫:
#ifndef a_h
#define a_h
#include "a.h"
#endif
前者叫內部保護,後者叫外部保護。
由於外部保護經常可能會忘記寫,容易被誤用,所以我們推薦使用內部保護。
微軟提供了乙個指令使你可以更方便的保護:
#pragma once//優點:方便,缺點:無可移植性
17樓:匿名使用者
#ifndef 標識
#define 標識
標頭檔案語句
#endif
這裡的標識需要是可以唯一標識乙個標頭檔案的名稱,可以用你標頭檔案的名字來表示,例如stdio.h:
_stdio_h
c++標頭檔案保護符怎樣實現其作用的?
18樓:風林火陰山雷
您好!很高興為您解答。
c++中,一般我們會為了防止標頭檔案被包含多次,都會在每個標頭檔案中寫與如下類似的**:
#ifndef a_h
#define a_h
......//標頭檔案內容
#endif
標頭檔案第一次被包含時,因為沒有巨集定義過「a_h」,因此經過語句
「#ifndef a_h
#define a_h
」並得到執行後,「a_h」就被定義了,並且標頭檔案的內容會進入編譯,直到遇見「#endif」。
而一旦該標頭檔案即將被錯誤地包含第二次時,與語句「#ifndef a_h」不符,因為第一次你已經定義過「a_h」了,所以「#ifndef a_h」之後的語句不會進入編譯了,直到遇見「#endif」。
若標頭檔案被包含一次以上,編譯時都會報錯。c++標頭檔案保護符的目的就是避免這類錯誤。
望採納~若您還有不明白之處,歡迎繼續追問~
c怎麼自己建立標頭檔案,C 怎麼自己建立標頭檔案
gz陶克說 建頭宣告c檔案中的函式,巨集定義以及對應的標頭檔案。每個c c程式通常分為兩個檔案。乙個檔案用於儲存程式的宣告 declaration 稱為標頭檔案。另乙個檔案用於儲存程式的實現 implementation 稱為定義 definition 檔案。c c程式的標頭檔案以 h 為字尾,c程...
c語言標頭檔案怎麼解釋,c語言中要引用標頭檔案時「」與 的區別!
傳統 c include 設定插入點 include 字元處理 include 定義錯誤碼 include 浮點數處理 include 檔案輸入 輸出 include 引數化輸入 輸出 include 資料流輸入 輸出 include 定義各種資料型別最值常量 include 定義本地化函式 inc...
c語言標頭檔案包含 全域性變數使用問題
c語言在標頭檔案中包含全域性變數有三種形式 1 在標頭檔案中宣告乙個全域性變數,在乙個c檔案中定義全域性變數,然後在所有的引用了這個標頭檔案的c檔案裡都可以使用該全域性變數值。如在main.c定義 int a 3 然後定義乙個main.h,那麼所有引用main.h的c檔案中,均可以訪問a並更改其值。...