keil應用小貼士:Use MicroLIB是干什么的
其中有一項是選 use MicroLIB

由于對KEIL不是很熟悉,于是就查了查,得到了以下信息:
microlib 是缺省 C 庫的備選庫。它旨在與需要裝入到極少量?jì)却嬷械纳顚?strong>嵌入式應用程序配合使用。 這些應用程序不在操作系統中運行。
microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。 它的功能比缺省 C 庫少,并且根本不具備某些 ISO C 特性。某些庫函數的運行速度也比較慢,例如,memcpy()。
與缺省 C 庫之間的差異
microlib 與缺省 C 庫之間的主要差異是:
本文引用地址:http://dyxdggzs.com/article/201611/321172.htmmicrolib 不符合 ISO C 庫標準。 不支持某些 ISO 特性,并且其他特性具有的功能也較少。
microlib 不符合 IEEE 754 二進(jìn)制浮點(diǎn)算法標準。
microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。
無(wú)法對區域設置進(jìn)行配置。 缺省 C 區域設置是唯一可用的區域設置。
不能將
main() 聲明為使用參數,并且不能返回內容。 不支持
stdio,但未緩沖的 stdin、stdout 和 stderr 除外。 microlib 對 C99 函數提供有限的支持。
microlib 不支持操作系統函數。
microlib 不支持與位置無(wú)關(guān)的代碼。
microlib 不提供互斥鎖來(lái)防止非線(xiàn)程安全的代碼。
microlib 不支持寬字符或多字節字符串。
與 stdlib 不同,microlib 不支持可選擇的單或雙區內存模型。 microlib 只提供雙區內存模型,即單獨的堆棧和堆區。
- 可以合理地將 microlib 與
--fpmode=std 或 --fpmode=fast 配合使用。
microlib 中的函數負責:
創(chuàng )建一個(gè)可在其中執行 C 程序的環(huán)境。 這包括:
創(chuàng )建一個(gè)堆棧
創(chuàng )建一個(gè)堆(如果需要)
初始化程序所用的庫的部分組成內容。
調用
main() 以開(kāi)始執行程序。
要使用 microlib 構建程序,必須使用命令行選項 ??library_type=microlib。根據需要,編譯器、匯編程序或鏈接器可使用此選項處理不同的文件。 將此選項與鏈接器配合使用時(shí),將覆蓋所有其他選項。
評論