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

          新聞中心

          #ifndef 在頭文件中的作用

          作者: 時(shí)間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
          在一個(gè)大的軟件工程里面,可能會(huì)有多個(gè)文件同時(shí)包含一個(gè)頭文件,當(dāng)這些文件編譯鏈接成一個(gè)可執(zhí)行文件時(shí)

          ,就會(huì)出現(xiàn)大量“重定義”的錯(cuò)誤。在頭文件中實(shí)用#ifndef #define #endif能避免頭文件的重定義。

          本文引用地址:http://www.ex-cimer.com/article/201611/321342.htm

          方法:例如要編寫頭文件test.h

          在頭文件開頭寫上兩行:

          #ifndef _TEST_H

          #define _TEST_H//一般是文件名的大寫

          頭文件結(jié)尾寫上一行:

          #endif

          這樣一個(gè)工程文件里同時(shí)包含兩個(gè)test.h時(shí),就不會(huì)出現(xiàn)重定義的錯(cuò)誤了。

          分析:當(dāng)?shù)谝淮伟瑃est.h時(shí),由于沒有定義_TEST_H,條件為真,這樣就會(huì)包含(執(zhí)行)#ifndef _TEST_H和

          #endif之間的代碼,當(dāng)?shù)诙伟瑃est.h時(shí)前面一次已經(jīng)定義了_TEST_H,條件為假,#ifndef _TEST_H和

          #endif之間的代碼也就不會(huì)再次被包含,這樣就避免了重定義了。

          #ifndef __74HC595_H__
          #define __74HC595_H__



          #endif

          #ifndef _optimizedvector_h // if not define _optimizedvector_h
          #define _optimizedvector_h // then define _optimizedvector_h

          通俗點(diǎn)就是如果沒定義_optimizedvector_h,那就定義_optimizedvector_h,防止重復(fù)編譯




          關(guān)鍵詞: ifndef頭文

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();