新聞中心

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

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

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

        目標

        本文引用地址:http://www.104case.com/article/173000.htm

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

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

        庫文件的生成

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

          在ICCAVRIDE環境中新建兩個文件,分別命名為 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);
        }

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

          執行命令ilibw-alibGetMax.aGetMax.o生成庫文件。可執行文件ilibw.exe位于icc安裝完后的系統目錄(默認安裝時在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安裝完后的系統目錄(默認安裝時在C:icc)的子目錄lib中。再執行Project菜單下的Option項,修改Target表單中的AdditionalLib項,在文本框中輸入GetMax(注意不能寫成libGetMax.a)。

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

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

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



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 望奎县| 岳普湖县| 淮阳县| 文成县| 平乡县| 济宁市| 大埔县| 桦南县| 青浦区| 大英县| 汕尾市| 通道| 瑞昌市| 文山县| 肇东市| 长汀县| 岑巩县| 简阳市| 富民县| 高雄市| 交口县| 平乐县| 泸州市| 安康市| 贵港市| 淄博市| 绩溪县| 迁安市| 长治县| 齐齐哈尔市| 苗栗县| 河池市| 上杭县| 博乐市| 波密县| 义乌市| 三原县| 饶河县| 凌云县| 扶风县| 林甸县|