MDK中 use microlib

 microlib 与缺省 库之间的主要差异是: 

 

microlib 不符合 ISO C 库标准。 不支持某些 ISO 特性,并且其他特性具有的功能也较少。 

 

microlib 不符合 IEEE 754 二进制浮点算法标准。 

 

microlib 进行了高度优化以使代码变得很小。 

 

无法对区域设置进行配置。 缺省 区域设置是唯一可用的区域设置。 

 

不能将 main() 声明为使用参数,并且不能返回内容。 

 

不支持 stdio,但未缓冲的 stdinstdout 和 stderr 除外。 

 

microlib 对 C99 函数提供有限的支持。 

 

microlib 不支持操作系统函数。 

 

microlib 不支持与位置无关的代码。 

 

microlib 不提供互斥锁来防止非线程安全的代码。 

 

microlib 不支持宽字符或多字节字符串。 

 

与 stdlib 不同,microlib 不支持可选择的单或双区内存模型。 microlib 只提供双区内存模型,即单独的堆栈和堆区。 

 

可以合理地将 microlib 与 --fpmode=std 或 --fpmode=fast 配合使用。 

microlib 中的函数负责: 

 

创建一个可在其中执行 程序的环境。 这包括: 

 

创建一个堆栈 

 

创建一个堆(如果需要) 

 

初始化程序所用的库的部分组成内容。 

 

调用 main() 以开始执行程序。 

 

要使用 microlib 构建程序,必须使用命令行选项 ??library_type=microlib。 根据需要,编译器、汇编程序或链接器可使用此选项处理不同的文件。 将此选项与链接器配合使用时,将覆盖所有其他选项。

原文地址:https://www.cnblogs.com/Ph-one/p/3960337.html