<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > C51中頭文件的寫法

          C51中頭文件的寫法

          作者: 時間:2012-08-16 來源:網(wǎng)絡 收藏

          一、位置

          #include xxx.h> 優(yōu)先在系統(tǒng)查找

          #include“xxx.h”有現(xiàn)在項目路徑查找

          二、#ifndef和#endif

          通常形式為

          #ifndef _xxxx_h_

          #define _xxxx_h_

          .........(頭文件具體內(nèi)容)

          #endif

          這樣的寫法表示,如果_xxxx_h_還沒有被定義,那么頭文件內(nèi)容將被執(zhí)行,如果已經(jīng)定義過了,那么頭文件內(nèi)容就不執(zhí)行了。作用在于,如果某頭文件被不同c文件同時調(diào)用,那么里面的內(nèi)容不至于因為重復定義而出錯,因為不管調(diào)用幾次頭文件,其內(nèi)容只有在第一次出現(xiàn)時被執(zhí)行,同時定義一個_xxxx_h_,以后再次調(diào)用時,頭文件內(nèi)容被忽略。

          三、函數(shù)和宏

          假設有如下文件 main.c aaa.c aaa.h

          其中,,aaa.c里面有一個宏X,一個函數(shù)Y,且函數(shù)Y中使用了X

          aaa.h里面申明了函數(shù)Y

          main.c里包含了aaa.h文件,調(diào)用了函數(shù)Y,但沒有定義宏X

          那么,編譯時不會出錯,這表示,函數(shù)Y中出現(xiàn)宏X時,它會在自身所在的c文件,即aaa.c里面查找宏

          變化1:如上情況不變,但是在main.c里面將整個函數(shù)Y重新寫一遍

          編譯出錯,提示 “error C202: 'X': undefined identifier”

          說明此時函數(shù)Y在main.c文件中找不到宏X,因此提示為未定義的符號

          變化2:將aaa.c中的宏剪切到main.c,其余情況不變

          編譯出錯,同樣提示“error C202: 'X': undefined identifier”

          結論: 函數(shù)中如果出現(xiàn)宏,那么該函數(shù)能且只能在其自身所在的c文件中查找該宏,如果二者不在同個c文件,必然出錯



          關鍵詞: C51 頭文件 默認路徑

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();