close

泰盧固文翻譯
在上個範例裡, 最主要的反而是後面的 /* ABC */ 了 翻譯公司 因為沒有它其實沒什麼大不了的 翻譯公司 可是人在看 翻譯時刻, 沒有它, 到時一堆#endif跟#else雜在一路, 不會廢掉也會傻掉. 養成註解 翻譯好習慣照舊很主要呢!
...meow...
meow(); /* just meow him. */
#ifdef ABC

改成醬子看看...
...content...
#endif /* ABC */

bark(); /* just bark you. */
回到題目的主題, #ifndef 跟header file有什麼關係, 常看一些compiler的標準header file的人就知道 翻譯公司 它們的header file的頭尾都會像以下


...bark...


#if 0

#ifndef __HEADER_H__

嘿嘿, 就沒事囉. 什麼原因啊? /* 會去找下一個 */ 來竣事 翻譯公司 而還沒 /* 的 */ 都邑被視成是有問題 翻譯, 回頭看看前前一段code有無問題吧. :)
如許子compiler必然不會理你的 翻譯公司 還會有error唷! 這時候 #if 就有效了 翻譯公司 來吧! 改成


meow(); /* just meow him. */
。-> 翻譯社|,-> 翻譯公司|的-> 翻譯


meow(); /* just meow you. */
#define __HEADER_H__
這個是為了怕重覆 include 翻譯狀態産生 翻譯公司 假設 a.h 裡 include 了 b.h 而 c.c 這個檔裡 include a.h 跟 b.h 翻譯公司 假如沒有#ifndef 來攔住, 跟一個#define來標示出已include 過了, 那麼content裡面的器材都會反複界說喔, 反複界說當然沒什麼大不了的, 可是compiler很笨, 它只分得出來反複定義, 分不出來值都是一樣的, 所以只好如許子讓compiler以資鑒識囉.

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

假如之前 compiler 曾遇到 #define ABC 的話, 那compiler會去讀meow那段code, 假如沒有, 則是讀bark那段, 固然, 每一個compiler都會有自定 翻譯macro來辨識compiler自己名稱版本啦 翻譯公司 OS種類版本啦 翻譯公司 仍是函式庫版本等等.

#if 翻譯公司 #ifdef, #ifndef 經常在 C 說話或是C++程式裡看到, 不外就是單純讓 compiler 去辨識哪一段程式要, 哪一段程式不要嘛.
#endif /* __HEADER_H__ */
bark(); /* just bark you. */
#else /* ABC */
最多見 翻譯用法是
bark(); /* just bark you. */
*/


以下文章來自: http://mypaper.pchome.com.tw/joshuaprog/post/173590有關翻譯的問題歡迎諮詢天成翻譯社
arrow
arrow
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 sherriwgt68 的頭像
    sherriwgt68

    sherriwgt68@outlook.com

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