keil應(yīng)用小貼士:Use MicroLIB是干什么的
microlib 與缺省 C 庫之間的主要差異是:
本文引用地址:http://www.ex-cimer.com/article/201611/321172.htmmicrolib 不符合 ISO C 庫標(biāo)準(zhǔn)。 不支持某些 ISO 特性,并且其他特性具有的功能也較少。
microlib 不符合 IEEE 754 二進(jìn)制浮點(diǎn)算法標(biāo)準(zhǔn)。
microlib 進(jìn)行了高度優(yōu)化以使代碼變得很小。
無法對(duì)區(qū)域設(shè)置進(jìn)行配置。 缺省 C 區(qū)域設(shè)置是唯一可用的區(qū)域設(shè)置。
不能將
main() 聲明為使用參數(shù),并且不能返回內(nèi)容。 不支持
stdio,但未緩沖的 stdin、stdout 和 stderr 除外。 microlib 對(duì) C99 函數(shù)提供有限的支持。
microlib 不支持操作系統(tǒng)函數(shù)。
microlib 不支持與位置無關(guān)的代碼。
microlib 不提供互斥鎖來防止非線程安全的代碼。
microlib 不支持寬字符或多字節(jié)字符串。
與 stdlib 不同,microlib 不支持可選擇的單或雙區(qū)內(nèi)存模型。 microlib 只提供雙區(qū)內(nèi)存模型,即單獨(dú)的堆棧和堆區(qū)。
- 可以合理地將 microlib 與
--fpmode=std 或 --fpmode=fast 配合使用。
microlib 中的函數(shù)負(fù)責(zé):
創(chuàng)建一個(gè)可在其中執(zhí)行 C 程序的環(huán)境。 這包括:
創(chuàng)建一個(gè)堆棧
創(chuàng)建一個(gè)堆(如果需要)
初始化程序所用的庫的部分組成內(nèi)容。
調(diào)用
main() 以開始執(zhí)行程序。
評(píng)論