close
盧巴卡唐加文翻譯meow(); /* just meow you. */

bark(); /* just bark you. */
*/


meow(); /* just meow him. */


#endif /* __HEADER_H__ */
嘿嘿, 就沒事囉. 什麼緣由啊? /* 會去找下一個 */ 來竣事, 而還沒 /* 的 */ 城市被視成是有問題的翻譯社 回頭看看前前一段code有無問題吧. :)
回到題目的主題翻譯社 #ifndef 跟header file有什麼關係翻譯社 常看一些compiler的標準header file的人就知道, 它們的header file的頭尾城市像以下

#ifdef ABC
#else /* ABC */

這個是為了怕重覆 include 的狀態産生, 假設 a.h 裡 include 了 b.h 而 c.c 這個檔裡 include a.h 跟 b.h, 若是沒有#ifndef 來攔住, 跟一個#define來標示出已include 過了, 那麼content裡面的器材都會重複界說喔, 重複定義固然沒什麼大不了的, 可是compiler很笨, 它只分得出來重複界說, 分不出來值都是一樣的翻譯社 所以只好這樣子讓compiler以資辨別囉.

bark(); /* just bark you. */
/*

如許子compiler必然不會理翻譯公司的, 還會有error唷! 這時候 #if 就有效了, 來吧! 改成
#endif /* 0 */

#ifndef __HEADER_H__
最多見的用法是
在上個範例裡翻譯社 最主要的反而是後面的 /* ABC */ 了翻譯社 因為沒有它其實沒什麼大不了的翻譯社 可是人在看的時候, 沒有它, 到時一堆#endif跟#else雜在一路, 不會廢掉也會傻掉. 養成註解的好習慣還是很重要呢!
#endif /* ABC */
若是之前 compiler 曾碰到 #define ABC 的話, 那compiler會去讀meow那段code翻譯社 若是沒有, 則是讀bark那段, 固然, 每一個compiler都會有自定的macro來辨識compiler本身名稱版本啦, OS種類版本啦翻譯社 照舊函式庫版本等等.

...bark...
#define __HEADER_H__

#if翻譯社 #ifdef翻譯社 #ifndef 經常在 C 語言或是C++程式裡看到, 不外就是純真讓 compiler 去辨識哪一段程式要, 哪一段程式不要嘛.
...meow...
改成醬子看看...
bark(); /* just bark you. */
meow(); /* just meow him. */
#if 0

...content...

再回到 /* ... */ 的問題, 其實 /* */ 很厭煩說, 往往想暫時不要一段以下的程式碼:




引用自: http://mypaper.pchome.com.tw/joshuaprog/post/173590有關各國語文翻譯公證的問題歡迎諮詢鉦昱翻譯公司02-23690937
arrow
arrow
    全站熱搜

    claudep65567 發表在 痞客邦 留言(0) 人氣()