为什么单片机上的程序不怎么使用malloc,而PC上经常使用?

为什么单片机上的程序不怎么使用malloc,而PC上经常使用?


在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!主要原因还是大多数用上MCU的产品,本身功能逻辑并不复杂,基本全局变量加状态机就能解决了,不需要动态内存管理,鉴于其性能低,功耗低和片上RAM少,复杂的场景也不会选用MCU来做。

所以MCU上的软件一直受到IT行业鄙视链的压迫被划为三不人员,即不懂软件开发,不懂系统架构,不懂语言抽象。

尽管很多语言都在喊进军嵌入式替代c,结果进军到了今天都没啥结果,c或者说长得像c的语言夹带一堆半生不熟的汇编仍然是绝对主流,很多人以为主控MCU越高端越好,能上Linux就上Linux开发,其实恰恰相反。

16位单片机能用就不会上32位的,8位能用就不会用16位的,如果还有4位机能把问题解决了,老板照样两眼放光,高情商的说法是功耗低抗干扰能力强,实际原因就一个:便宜啊!几十万的出货量,多省一块钱那都是一套房的首付啊。

这种便宜的MCU,大多数的片上ram就几kb十几kb甚至不到1kb的也比比皆是,清一色裸机状态机开发,你别说什么库什么模板展开,你代码稍微多写两行可能都塞不下,你用上malloc还得上内存管理机制,你别说什么优雅什么现代化,你多浪费1字节老板眼里都是败家,正所谓断人钱财犹如杀人父母,一切"优雅"的特性与算法结构都在便宜面前不堪一击。

所以知乎上经常刷到什么学嵌入式要干什么都不说,上来就说要用什么特性语言系统什么的,才够高端才够有技术力才够逼格。9b07ae36995cd912e7eca9babcc52603.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【新】Unity Meta Quest MR 开发(一):Passthrough 透视配置

文章目录 📕教程说明📕配置透视的串流调试功能📕第一步:设置 OVRManager📕第二步:添加 OVRPassthroughLayer 脚本📕第三步:在场景中添加虚拟物体📕第四步:设置…

2024年腾讯云服务器配置价格表(机型/磁盘/宽带/CPU)

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…

vue配置qiankun及打包上线

项目结构 基座:vue3 子应用A:vue3 子应用B: react 子应用C:vue3vite 项目目录: 配置基座 首先下载qiankun yarn add qiankun # 或者 npm i qiankun -S 所有子应用也要安装,vue-vite项目安装 cnpm ins…

【shell】读取表格文件的数据

碎碎念 shell在处理复杂问题的时候不具备优势,如果业务环境能够使用python的话用python又简单又好用,但是很多云平台的现场可能需要shell脚本文件(还好是要求bash) 但是现在有一个业务场景就是运维人员会把参数写在excel表格中 …

不同光照下HUD抬头显示器光干扰试验用太阳光模拟器

HUD干扰太阳光模拟器是机载光电系统测试中常见的问题之一。在机载光电系统测试中,太阳光模拟器是一种重要的测试设备,它可以模拟不同光照条件下的机载光电系统性能,为系统优化和调试提供数据支持。然而,当太阳光模拟器与HUD交叉作…

Python之列表中常见的方法

1.创建一个列表 list1 [1, 2, 3, 4] list2 list("1234") print(list1, list2) print(list1 list2) # 以上创建的两个列表是等价的,都是[1, 2, 3, 4] 2.添加新元素 # 末尾追加 a [1, 2, 3, 4, 5] a.append(6) print(a)# 指定位置的前面插入一个元素 a.insert(2, 1…

Java泛型的继承和通配符

泛型的继承和通配符 继承 两个容器所容纳的类类型是有子类父类的关系的 但是容器之间没有 反证法&#xff1a; 假设做法成立 ArrayList<Object> list1 null;ArrayList<String> list2 - new ArrayList<>();list1list2 list 指向list2的容器实例 list1.add&…

积极参与建设“一带一路”,川宁生物与微构工场达成战略合作

2024年1月12日&#xff0c;北京微构工场生物技术有限公司&#xff08;以下简称“微构工场”&#xff09;与伊犁川宁生物技术股份有限公司&#xff08;“川宁生物”&#xff09;宣布签订战略合作协议&#xff0c;双方将共同出资设立合资公司&#xff0c;加速生物制造产业化落地&…

第N1周:one-hot编码案例

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/rbOOmire8OocQ90QM78DRA) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 1.one-hot编码概念 想…

误删除文件的恢复

记一次误删除文件&#xff0c;恢复过程 ubuntu系统 vscode 写代码 *rm -r * 删除整个目录git 提交代码的时候&#xff0c;删除无用的build目录&#xff0c;错误操作把上一级目录整个删除了。。。 恢复过程 求助同事大佬 “使用rm -r 删除的东西&#xff0c;不经过回收站&…

远距离相位激光测距传感PHR系列性能及通信接口说明

远距离相位激光测距传感PHR系列包含PHR-120100&#xff08;测距120米&#xff09;、PHR-200100&#xff08;测距200米&#xff09;&#xff0c;广泛适用于隧道检测, 堆垛机定位, 行车定位, 工业窑车定位, 智能物流, 高位拣货车定位, AGV避障, 轮渡减震胎定位, 窑车测距, 炼钢厂…

mybatis基本注解、增删改查、结果集映射、一对一、一对多

mybatis注解 基本注解新增删除修改查询 结果映射注解Results结果映射一对一映射一对多映射 基本注解 新增 功能&#xff1a;Insert完成新增操作&#xff0c;类似配置文件的 元素&#xff1b; 说明&#xff1a;新增时所用的参数取值是接口方法的入参&#xff0c;可以是对象&a…

burp靶场-path traversal

路径遍历 1.路径遍历漏洞 ### 什么是路径遍历 路径遍历也称为目录遍历。这些漏洞使攻击者能够读取正在运行应用程序的服务器上的任意文件。这可能包括&#xff1a; 应用程序代码和数据。 后端系统的凭据。 敏感的操作系统文件。### <img src"/loadImage?filename218…

RDMA编程实践-SEND-RECEICVE原语应用

RDMA编程实践 本文描述了RDMA编程过程中的SEND-RECEIVE双边原语的代码实现。包含多个版本&#xff0c;1、client向server发送消息&#xff0c;server回复client收到消息(ACK)&#xff0c;然后两边断开连接。2、server端循环等待客户端建立连接&#xff0c;client发送一次消息后…

数据库和表的操作

文章目录 前言一、库的操作创建数据库字符集和校验规则操纵数据库查看数据库显示创建语句修改数据库删除数据库备份和恢复数据库还原查看连接情况 二、表的操作创建表查看表结构修改表修改表名添加一列修改某一列属性删除某一列 删除表 前言 一、库的操作 创建数据库 语法&am…

新手必看:腾讯云服务器购买详细图文教程

腾讯云服务器购买流程很简单&#xff0c;有两种购买方式&#xff0c;直接在官方活动上购买比较划算&#xff0c;在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵&#xff0c;但是自定义购买云服务器CPU内存带宽配置选择范围广&#xff0c;活动上购买只能选择固定的活动…

我的NPI项目之设备系统启动(三) -- CDT的一个实例

上面说了这么多&#xff0c;这里就添加一个CDT的使用实例和简单的代码解析。 首先生成cdt_configure.xml配置文件&#xff0c;然后执行如下命令&#xff1a; python cdt_generator.py cdt_configure.xml CDT.bin; 就可以生成对应的CDT.bin文件。同时也会生成, 我们会利用ha…

STM32串口485通信如何控制收发管脚

要有效的控制485的收发管脚&#xff0c;首先要知道485通信发送命令完成的时间&#xff0c;我们执行发送命令结束并不代表硬件已经把数据发出去了&#xff0c;可能1ms以后才真正完成&#xff0c;如果我们控制管脚不当&#xff0c;可能导致数据不能完全发出去。导致串口通信异常。…

Leetcode20-唯一摩尔斯密码词(804)

1、题目 国际摩尔斯密码定义一种标准编码方式&#xff0c;将每个字母对应于一个由一系列点和短线组成的字符串&#xff0c; 比如: ‘a’ 对应 “.-” &#xff0c; ‘b’ 对应 “-…” &#xff0c; ‘c’ 对应 “-.-.” &#xff0c;以此类推。 为了方便&#xff0c;所有 26…

深度学习记录--Train/dev/test sets

为什么需要训练集、验证集(简单交叉验证集)和测试集&#xff1f; 为了创建高效的神经网络&#xff0c;需要不断进行训练(迭代) 一个神经网络的产生 从最开始的想法idea开始&#xff0c;然后付诸于代码code&#xff0c;根据结果验证反过来对一开始的想法idea进行修正&#xf…