出处:https://www.cnblogs.com/zyqgold/p/6114637.html

在keil建立ARM的工程时

其中有一项是选 use MicroLIB

由于对KEIL不是很熟悉,于是就查了查,得到了以下信息:

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

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

与缺省 C 库之间的差异

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

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

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

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

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

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

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

  • 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

Keil中的USE MicroLib说明相关推荐

  1. KEIL中USB Microlib作用

    1.选上"Use MicroLIB"这是KEIL自带的一个简易的库,例如你用printf函数的时候,就会从串口1 输出字符串,直接默认定向到串口1 2.microlib 是缺省 C ...

  2. 如何在KEIL中使用MicroLIB

    MicroLIB 在keil 建立ARM的工程时其中有一项是选 use MicroLIB microlib 是缺省 C 库的备选库. 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用. 这些 ...

  3. keil中micro lib

    在keil (我用的是realview mdk3.11)建立ARM的工程时 其中有一项是选 use MicroLIB 由于对KEIL不是很熟悉,于是就查了查,得到了以下信息: microlib 是缺省 ...

  4. 转载:keil中使用Astyle格式化你的代码的方法2篇合

    转自:https://blog.csdn.net/STM32F4/article/details/46649353 关于Astyle Astyle 的全称是Artistic Style的简称,是一个开 ...

  5. Keil中找不到芯片,往Keil中添加不存在的芯片,Keil安装pack文件

    Keil中如果找不到自己要使用的芯片,可以使用Keil的"Pack installer"找到目标芯片进行下载安装,但是会很慢,因为有些芯片的Pack本来就很大,可以到几百MB. 所 ...

  6. Keil 中的预处理命令const

    在keil中,宏定义是一个重要内容.无参数的宏作为常量,而带参数的宏则可以提供比函数更高的调用效率.但预处理只是进行简单的文本代替,而不做语法检查,所以会存在一些问题. 例如:#define BUFS ...

  7. keil中如何查看代码大小

    在用keil编译完代码后,会生成编译信息 (1) Code(inc.Data) : 包含两部分,即代码和数据 - code,即程序代码部分 - inline data. For example, li ...

  8. Keil用C语言定义函数,STC单片机Keil中C语言函数定位的方法

    STC单片机Keil中C语言函数定位的方法:STC单片机Keil中C语言函数定位的方法 下面以演示程序进行说明 演示程序中有ReadIAP.ProgramIAP和EraseIAP三个函数 最终目的是将 ...

  9. MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示

    MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示 解决办法: 1.确保已经将顶层头文件stm32f10x.h添加至当前你所写的文件内: 2.检查你自己写的文件是否已经加载到工 ...

最新文章

  1. 年中盘点:2021年炙手可热的10家数据科学和机器学习初创公司
  2. toj 3711 水题
  3. 看视频笔记1【wpf】
  4. Python2爬虫学习系列教程
  5. 19、SQL Server 数据修改之Insert into
  6. android Activity布局初步(二)- 嵌套布局
  7. java 使用ehcache,ehcache的介绍和使用,ehcache介绍使用
  8. GLSL实现HDR Rendering 【转】
  9. mysql优化之连接优化
  10. sql server alter权限_SQL
  11. 数字图像处理 matlab 报告总结,matlab 数字图像处理实验报告(五份)
  12. android日记app常用,只是意外 - 用这些 APP 来记录生活,再也不用担心无法坚持写日记 - Android 应用 - 【最美应用】...
  13. 清理服务器系统日志,win2008服务器清理系统日志
  14. 戴尔7060安装win10系统教程
  15. mysql json 数组转行
  16. 瑞萨RL78 dataflash pfdl库使用教程
  17. 初探强化学习(14)DQN类算法的值高估问题的笔记
  18. 飞凌OK6410、TE6410、FL6410 等ARM11 开发板的区别——非常详细哦
  19. openGL之几何变换(绘制球体)---openGL学习笔记(六)
  20. Devil May Cry 1 台词及翻译

热门文章

  1. OutpostFirewall软件使用(13)
  2. 解决hive查询parquet表报错NullPointerException异常问题(ProjectionPusher.java:118)
  3. 淘宝客高级接口 阿里妈妈高级接口调用示例 淘宝客高佣转链接口 淘宝客订单接口...
  4. Matlab开发VST插件
  5. 一周消息树:80%开发者背井离乡,70%经常加班
  6. win10系统怎么设置自动登录?
  7. 图像处理用什么神经网络,神经网络输入图片大小
  8. USB 驱动架构浅析
  9. 整理100多个爱好|经验|能力进行副业赚钱平台
  10. 求完全二叉树的最大深度与节点个数,要利用完全二叉树的特性