新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > keil應(yīng)用小貼士:Use MicroLIB是干什么的

        keil應(yīng)用小貼士:Use MicroLIB是干什么的

        作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
        keil (我用的是realview mdk3.11)建立ARM的工程時
        其中有一項是選 use MicroLIB

        由于對KEIL不是很熟悉,于是就查了查,得到了以下信息:
        microlib 是缺省 C 庫的備選庫。它旨在與需要裝入到極少量內(nèi)存中的深層嵌入式應(yīng)用程序配合使用。 這些應(yīng)用程序不在操作系統(tǒng)中運行。
        microlib 進行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。某些庫函數(shù)的運行速度也比較慢,例如,memcpy()。
        與缺省 C 庫之間的差異

        microlib 與缺省 C 庫之間的主要差異是:

        本文引用地址:http://www.104case.com/article/201611/321172.htm
        • microlib 不符合 ISO C 庫標準。 不支持某些 ISO 特性,并且其他特性具有的功能也較少。

        • microlib 不符合 IEEE 754 二進制浮點算法標準。

        • microlib 進行了高度優(yōu)化以使代碼變得很小。

        • 無法對區(qū)域設(shè)置進行配置。 缺省 C 區(qū)域設(shè)置是唯一可用的區(qū)域設(shè)置。

        • 不能將main()聲明為使用參數(shù),并且不能返回內(nèi)容。

        • 不支持stdio,但未緩沖的stdin、stdoutstderr除外。

        • microlib 對 C99 函數(shù)提供有限的支持。

        • microlib 不支持操作系統(tǒng)函數(shù)。

        • microlib 不支持與位置無關(guān)的代碼。

        • microlib 不提供互斥鎖來防止非線程安全的代碼。

        • microlib 不支持寬字符或多字節(jié)字符串。

        • 與 stdlib 不同,microlib 不支持可選擇的單或雙區(qū)內(nèi)存模型。 microlib 只提供雙區(qū)內(nèi)存模型,即單獨的堆棧和堆區(qū)。

        • 可以合理地將 microlib 與--fpmode=std--fpmode=fast配合使用。

        microlib 中的函數(shù)負責(zé):

        • 創(chuàng)建一個可在其中執(zhí)行 C 程序的環(huán)境。 這包括:

          • 創(chuàng)建一個堆棧

          • 創(chuàng)建一個堆(如果需要)

          • 初始化程序所用的庫的部分組成內(nèi)容。

        • 調(diào)用main()以開始執(zhí)行程序。

        要使用 microlib 構(gòu)建程序,必須使用命令行選項??library_type=microlib。根據(jù)需要,編譯器、匯編程序或鏈接器可使用此選項處理不同的文件。 將此選項與鏈接器配合使用時,將覆蓋所有其他選項。


        關(guān)鍵詞: keilUseMicroLI

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 象州县| 定结县| 遂平县| 年辖:市辖区| 保靖县| 东乡族自治县| 秭归县| 雷山县| 大埔区| 牡丹江市| 新宁县| 宁化县| 郸城县| 济阳县| 南靖县| 沧州市| 康马县| 武鸣县| 兖州市| 丰台区| 改则县| 宾阳县| 灵璧县| 和田市| 光山县| 中西区| 南木林县| 凤台县| 巴中市| 松滋市| 波密县| 潞城市| 嘉鱼县| 务川| 友谊县| 庆元县| 临高县| 潮安县| 嘉鱼县| 治县。| 江陵县|