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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 制作和使用自定義C庫文件

          制作和使用自定義C庫文件

          作者: 時間:2011-01-27 來源:網絡 收藏

          目標

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

          1.制作一個庫文件libGetMax.a ,其中包含一個外部函數GetMax ?!『瘮礕etMax的作用是判斷兩個輸入參數(int型)中的最大值,并返回最大值。

          2.制作一個應用范例,使用庫libGetMax.a中包含的GetMax函數。

          庫文件的生成

            為敘述方便,請在C盤根目錄中新建一目錄,并將其命名為libtest。以下將C:libtest簡稱為工作目錄。

            在ICCAVRIDE環(huán)境中新建兩個文件,分別命名為 GetMax.c 和 GetMax.h,并保存至工作目錄中。兩文件內容如下所示:

          //------GetMax.h的內容如下:------

          #ifndef__GETMAX_LIB
          #define__GETMAX_LIB
          externintGetMax(inta,intb);
          #endif

          //------GetMax.c的內容如下:------

          #includeGetMax.h
          intGettMax(inta,intb)
          {
          return((a>b)?a:b);
          }

            執(zhí)行File菜單下的 CompileFile... 項下的 ToObject 項,將 GetMax.c 編譯生成相應的目標文件GetMax.o 。

            執(zhí)行命令ilibw-alibGetMax.aGetMax.o生成庫文件??蓤?zhí)行文件ilibw.exe位于icc安裝完后的系統(tǒng)目錄(默認安裝時在C:icc)的子目錄bin中。為使用方便可將ilibw.exe拷貝至工作目錄中使用。至此庫文件libGetMax.a已生成,其對應的頭文件為GetMax.h 。注意庫文件的命名必須以“lib”字樣開頭,否則在IDE中編譯下面的應用范例過程中自動鏈接時會報錯(手動鏈接除外)。

          應用范例的編寫和編譯

            在工作目錄中建立一個工程Test.prj。工程Test.prj中包含一個C源程序文件Test.c。Test.C的源代碼如下所示:

          //------Test.c的源代碼如下:------

          #includeGetMax.h
          voidmain(void)
          {
          intResult,Value1,Value2;
          Value1=0x10FF;
          Value2=0x0FFF;
          Result=GetMax(Value1,Value2);
          }

            然后,將前一步驟生成的庫文件libGetMax.a拷貝至icc安裝完后的系統(tǒng)目錄(默認安裝時在C:icc)的子目錄lib中。再執(zhí)行Project菜單下的Option項,修改Target表單中的AdditionalLib項,在文本框中輸入GetMax(注意不能寫成libGetMax.a)。

            完成上述步驟后,就以編譯和調試test.prj。

            如果在其它工程中需要使用上述庫函數GetMax,只需拷貝所需的GetMax.h和libGetMax.a,并進行相應配置就可以了。

            也可以在已有的庫中增加一些自定義的函數。詳細參考ICCAVRIDE中的在線幫助。



          關鍵詞:

          評論


          相關推薦

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