硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2275|回复: 5
收起左侧

[其它] 想大概统计一下,CPP的使用场合频繁吗

[复制链接]

38

主题

82

回帖

196

积分

初级会员

积分
196
发表于 2020-6-16 11:38:15 | 显示全部楼层 |阅读模式
目前有些飞控使用C++来编码,我不知道其他领域是什么样的,想了解一下。
另外我试过一段时间C++,个人感觉并没有感觉到多大的优势。就单片机方面的项目,C++一般会在什么场合使用多一点呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107031
QQ
发表于 2020-6-16 11:45:57 | 显示全部楼层
TouchGFX、Mbed OS是C++的典型代表
回复

使用道具 举报

0

主题

57

回帖

57

积分

初级会员

积分
57
发表于 2020-6-16 11:55:16 | 显示全部楼层
之前做过一款soc用的c++,开发起来是真的的简单。IO控制和51单片机似的,直接LED_PIN = 0/1
回复

使用道具 举报

5

主题

100

回帖

115

积分

初级会员

积分
115
发表于 2020-6-16 12:04:56 | 显示全部楼层
复杂工程对高内聚,低耦合有强烈需求,简单项目何必折腾。
回复

使用道具 举报

39

主题

929

回帖

1051

积分

至尊会员

积分
1051
发表于 2020-6-16 13:55:37 | 显示全部楼层
最好不要为了跟风而用C++,不要觉得用了c++就非常好。要不要用C++,我的观点如下:
C语言简易,实现复杂功能的时候会比较困难。C++复杂,但做功能的时候可以将复杂的功能简单化。要不要用C++,就看有没有能力将复杂的功能简单化,这要看你在架构、封装和面向对象方面的能力。如果没这方面的能力,那用一门复杂的语言来实现复杂的功能,那绝对是一场灾难,还是“复杂语言”+“复杂功能”的双重灾难。C++特性太他妈多了,每个人掌握程度不一样,理解不一样,沟通起来增加太多变数和成本,然后在架构和封装能力不足的情况下,灾难就发生了。在理解复杂功能的时候,有诸多的复杂语言因素干扰;而去理解复杂语言的时候,又有诸多的复杂功能干扰。如果没有软件工程基础和多年软件开发经验,建议别C++了。
回复

使用道具 举报

0

主题

105

回帖

105

积分

初级会员

积分
105
发表于 2020-6-16 15:08:12 | 显示全部楼层
做飞控的时候用的C++。
但多数时候还是当c来用的。
c++做抽象要更容易一些,比较喜欢的是用模板特性来做容器(那种不动态分配内存的queue一类的,不是STL的容器),以及多个层级的功能抽象,例如nRF24l01这种抽象成SPI IO+寄存器访问+功能+应用
比较少用的地方还有运算符重载,例如IO赋值、++运算
还有利用构造、析构进行加锁操作,类似c++里的lock_guard,比手动上锁更安全
动态内存管理和lambda、自动推导这些用的很少
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 02:52 , Processed in 0.159588 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表