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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > keil4中頭文件路徑設置的方法匯總

          keil4中頭文件路徑設置的方法匯總

          作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
          個人記錄:
          感覺相對路徑比較方便。
          keil是從project文件所在目錄找頭文件,頭文件的相對目錄是相對.uvproj文件的。
          目前我的個人習慣是
          建立:Doc、Listing、Output、Project、User幾個文件夾
          Doc放文檔和readme
          Listing設置為配置中的清單選項卡輸出文件夾
          Output設置為輸出文件夾
          Project放建立的工程文件
          User放自己寫的.c和.h(這部分后期可能做更改)
          還可以有OS等操作系統(tǒng)的文件夾。
          在這種情況下,包含頭文件用相對方式寫的話就是類似于:
          #include <..Userallkeillibrary.h>
          #include <..UserSTC12C5A60S2.h>
          #include <..UserMyType.h>
          #include <..Userdeclare.h>
          #include <..UserstcY3_delay.h>
          #include <..Userhmc5883l.h>
          #include <..Usermpu6050.h>
          #include <..UserSerial.h>
          #include <..Userpmw3610.h>
          #include <..Userdata.h>
          //#include <..Userkalman.h>
          以下是轉載的正文:

          被頭文件的路徑設置困擾了很長時間,現(xiàn)在終于知道了!

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

          keil4中頭文件路徑設置的方法:

          假設這里有若干個文件,分別是:

          main.c dong.c peng.h

          其中,main.c和dong.c都依賴與peng.h。他們的內(nèi)容分別如下:

          main.c:

          絕對路徑是:E:MY_DocumentskeilC51includeffdduu

          dong.h:

          絕對路徑是:E:MY_DocumentskeilC51includekkki sdfbh

          peng.h:

          絕對路徑是:E:MY_DocumentskeilC51includeddjjppkk

          這里說明一下:

          在windows環(huán)境下: " . "表示當前目錄, " .. "表示當前目錄的上一級目錄,并且 ".."可以連用,也就是可以寫成 " ......"表示當前目錄的上級目錄的上級目錄的上級目錄。

          而在linux環(huán)境下," ./ "表示當前目錄, " ../ "表示當前目錄的上一級目錄,并且 "../"可以連用,也就是可以寫成 " ../../../"表示當前目錄的上級目錄的上級目錄的上級目錄

          這里我將他們分別放在不同的文件夾下面,由于后綴為.c的源文件只要添加到工程之中就會參加編譯,并且必須添加到工程之中。所以這里只總結一下幾種頭文件目錄的添加方法。

          方法一 在keil的開發(fā)環(huán)境下添加:

          請注意上面的系統(tǒng)生成的頭文件目錄是:,即.ddjjppkk,其中.是相對于項目文件.uvproj而言的,其中 . 表示項目文件所在的當前目錄, 項目文件的絕對路徑是:E:MY_DocumentskeilC51include,peng.h的絕對路徑是:E:MY_DocumentskeilC51includeddjjppkk,很容易看到,peng.h文件就在E:MY_DocumentskeilC51include的ddjjppkk目錄下。

          假如項目文件在E:單片機系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM下,而其中一個頭文件在:E:單片機系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

          下,那么在keil環(huán)境下設置產(chǎn)生的頭文件目錄是:..USERuCOS-IISource。

          方法二 絕對路徑法

          即將頭文件的絕對路徑寫到#include之后。如下:

          在main.c中:

          在dong.c中:

          方法三、相對路徑法

          peng.h的絕對路徑是:E:MY_DocumentskeilC51includeddjjppkk

          main.c的絕對路徑是:E:MY_DocumentskeilC51includeffdduu

          dong.c的絕對路徑是:E:MY_DocumentskeilC51includekkki sdfbh

          通過分析可以得到peng.h相對于main.c路徑是:

          ......ddjjppkk

          peng.h相對于dong.c的路徑是:

          ........ddjjppkk

          所以在main.c中修改如下:

          在dong.c中修改如下:

          方法四 、相對目錄+相對目錄

          在有的 .c 文件中,頭文件有如下表示方法:

          如有os_dbg.c,其中頭文件是這樣寫的:

          #include "uCOS-IISourceucos_ii.h" ,或者寫成#include

          而os_dbg.c的絕對路徑是:E:單片機系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IIPortsARM-Cortex-M3RealView

          ucos_ii.h的絕對路徑是:E:單片機系列嵌入式uCOSuCOS-ii 版uCOSII2.91USERuCOS-IISource

          在keil環(huán)境中的頭文件路徑設置中有:

          當前.uvproj的絕對路徑是:E:單片機系列嵌入式uCOSuCOS-ii 版uCOSII2.91MDK-ARM

          可以看到, "..USER" + "uCOS-IISourceucos_ii.h"不就是ucos_ii.h相對于.uvproj 的路徑嗎?即 "..USERuCOS-IISourceucos_ii.h"。




          評論


          技術專區(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); })();