Uav开发杂记-4-无人机开发的C-C++

无人机的软件开发主要使用C/C++开发,APM和PX4的应用层开发更多的使用C++开发。作为叠代完善了非常多年的比较大型的开源飞控项目,其代码框架对于刚开始接触的新手而言是比较复杂的。

一些同学私信问我一些无人机相关的问题,很多是关于飞控的代码框架,语法问题。

大多数无人机飞控的开发同学都不是专业的软件开发,甚至只学习过C开发没有专门学习过C++,所以在看APM/PX4时,面对复杂的继承关系、容器和模板、学习比较吃力。而在自己动手加一些代码时出现各种奇怪的问题,比如编译报错不知道如何定位,运行崩溃面对一长串错误堆栈信息无从下手,或者能正确运行,但是一些异常情况没有处理导致系统不稳定。

如何高效可靠的编程是一个长期的积累的过程,甚至需要付出很多血的教训,一个高水平的飞控软件开发是靠无数次炸鸡积累出来的。

当然不是说只有炸鸡无数次后才能成就高水平的飞控开发,学习和养成好的编程习惯是降低出错概率的很好的一种方式。

C/C++基础的编程书籍可以帮助我们学习编程语法却不能指导我们编写高质量的代码,好的开源代码是学习编写高质量代码的很好的途径,比如仔细阅读APM/PX4的代码。不过通过代码学习不能系统性的学习,这里给大家推荐几本提高C/C++编程质量的书籍吧。

  • Effective C++

  • More.Effective.C++

  • Effective C++ STL

这三本书是一个系列,主要讲了C++程序开发中的一些准则,比如:

  • 什么时候用指针和引用

  • 什么情况下需要用const修饰变量、指针、函数入参、函数返回值和函数本身

  • 使用宏定义的注意事项

  • 类的继承需要注意的问题

  • 类的构造、析构注意事项

  • C++ 标准库的使用注意事项

在学习基础语法的基础上,阅读这个书籍,并结合实际的编程实践,是提高自身编程水平的非常好的方式。可以使你在实际开发中避免很多错误。

在开发语言的基础上,这里也推荐给大家关于设计模式的书籍,设计模式对于软件行业的同学是非常熟悉的,不过对于飞控的开发同学可能会比较陌生,学习设计模式可能会使大家对于比较大的软件架构有一些新的认识。

有需要的书籍电子版的同学可以关注我的公众号,在下方留言 飞控编程 获取。

往期分享:

AcmeGCS-10-首个测试版本!

AcmeROS-1-系统架构

PX4-10-系统启动流程

这里会不定期更新一些我整理的无人机相关知识,欢迎关注。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值