【转载】Keil中的USE MicroLib说明

在keil创建ARM的工程时 html

其中有一项是选 use MicroLIB 算法

 UseMicroLib

因为对KEIL不是很熟悉,因而就查了查,获得了如下信息: 编程

microlib 是缺省 C 库的备选库。 它旨在与须要装入到极少许内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操做系统中运行。 安全

microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,而且根本不具有某些 ISO C 特性。 某些库函数的运行速度也比较慢,例如,memcpy()函数

与缺省 C 库之间的差别 优化

microlib 与缺省 C 库之间的主要差别是: 操作系统

  • microlib 不符合 ISO C 库标准。 不支持某些 ISO 特性,而且其余特性具备的功能也较少。命令行

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

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

  • 没法对区域设置进行配置。 缺省 C 区域设置是惟一可用的区域设置。

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

  • 不支持 stdio,但未缓冲的 stdinstdoutstderr 除外。

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

  • microlib 不支持操做系统函数。

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

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

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

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

  • 能够合理地将 microlib 与 --fpmode=std--fpmode=fast 配合使用。

microlib 中的函数负责:

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

    • 建立一个堆栈

    • 建立一个堆(若是须要)

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

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

要使用 microlib 构建程序,必须使用命令行选项 :library_type=microlib。 根据须要,编译器、汇编程序或连接器可以使用此选项处理不一样的文件。 将此选项与连接器配合使用时,将覆盖全部其余选项。

转自:http://blog.sina.com.cn/s/blog_7142d7da01013gub.html

相关文章
相关标签/搜索