嵌入式开发可以用c++吗?
小弟想了解一下嵌入式开发,如果可以的话看自已对这方面有没有能力,所以想请教一下大家,嵌入式开发是不是只能用c或汇编?初学嵌入式开发需要从哪方面入手?学习用的硬件都用什么?...
小弟想了解一下嵌入式开发,如果可以的话看自已对这方面有没有能力,所以想请教一下大家,
嵌入式开发是不是只能用c或汇编?
初学嵌入式开发需要从哪方面入手?
学习用的硬件都用什么?
补充:以前学过点很浅的C,目前从事C#2年。 展开
嵌入式开发是不是只能用c或汇编?
初学嵌入式开发需要从哪方面入手?
学习用的硬件都用什么?
补充:以前学过点很浅的C,目前从事C#2年。 展开
7个回答
2015-12-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
嵌入式开发可以用c++。
嵌入式开发分三种:
嵌入式应用开发,即c++或android等精通一门面向对象语言。
嵌入式内核移植,底层驱动开发,会看懂一些数字电路,能写一些简单的汇编语言,精通c语言,了解arm的基本架构,linux内核了解越深越好,会编写驱动。
嵌入式硬件开发,即芯片的外围电路设计。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目前,单片机的主流编译语言可预见的长期仍然是C和少量汇编的结合体,而嵌入式Linux领域的未来在我看来更倾向于多语言范式的混合应用编程,内核模块使用C,应用层逻辑使用C++, Python, nodejs的混合编程,而界面的话使用java和QT/C++。随着市场需求的增加,目前嵌入式行业对于C++工程师的需求量依然是非常大的。
在单片机领域C++不太流行既有历史原因,也有工业界的需求,对于单片机是从51发展到现在,主流的flash容量仍然在64KB~256KB左右,目前的容量限制注定了C++中的模板,泛型编程和STL等很难被运用到开发中,但如果不使用这些,只使用支持class的C++,在C语言是有结构体+函数指针可以替代的情况下,从C换成C++并没有迫切的需求,而python和js的推广困难,也有着类似的理由,此外在加上调试困难。
单片机优势不仅仅是实时可控,而是价格便宜,对于出货量十万甚至上百万的设备,flash容量也是可观的成本,所以工业界更**是用最小的成本做最多的事,从这方面来说,C是比C++,python, js有明显优势的。
在嵌入式Linux领域, C++绝对是应用层主力之一,QT/C++虽然目前因为芯片性能的提升,逐渐被Android/Java所替代,但仍然在医疗,工控,车载导航等领域占据主流地位,而且这也是目前C++的重要应用领域之一,说嵌入式比较难,而C++也十分困难,所以嵌入式人员学习C++比较少是十分片面客观的印象。
另外C++难的地方是移动语义,模板偏特化,lambda, 模板元编程等知识,C++各种语法组合成的奇淫巧技如果不花大量时间去钻研,看起来是犹如天书(很少有人例外),但对于工业界,特别是嵌入式类应用来说,只使用STL封装的vector,map以及算法等方便开发,封装些模板函数或者类帮助复用,很多时候C++11的新特性都用不全,说困难就有点夸大其词了。
工业界的难点***是如何把产品的需求转换成具体的任务分解(满足性能,成本和功能的平衡,同时能够长期稳定性),而不是使用何种语言来实现任务,当需求导向任意语言,无论是python,js,C++还是java,面向工资编程,只要有需求,总会有人会踏入这个方向,难度不是问题,需求和薪水才是问题。
目前,针对于市场上对于C++/QT工程师的缺口是非常大的,很多公司都需要大量的C++/QT工程师,并且C++/QT工程师的薪资相对来说也是比较高的,对于嵌入式开发人员来说未来的职业规划也是非常好的。
在单片机领域C++不太流行既有历史原因,也有工业界的需求,对于单片机是从51发展到现在,主流的flash容量仍然在64KB~256KB左右,目前的容量限制注定了C++中的模板,泛型编程和STL等很难被运用到开发中,但如果不使用这些,只使用支持class的C++,在C语言是有结构体+函数指针可以替代的情况下,从C换成C++并没有迫切的需求,而python和js的推广困难,也有着类似的理由,此外在加上调试困难。
单片机优势不仅仅是实时可控,而是价格便宜,对于出货量十万甚至上百万的设备,flash容量也是可观的成本,所以工业界更**是用最小的成本做最多的事,从这方面来说,C是比C++,python, js有明显优势的。
在嵌入式Linux领域, C++绝对是应用层主力之一,QT/C++虽然目前因为芯片性能的提升,逐渐被Android/Java所替代,但仍然在医疗,工控,车载导航等领域占据主流地位,而且这也是目前C++的重要应用领域之一,说嵌入式比较难,而C++也十分困难,所以嵌入式人员学习C++比较少是十分片面客观的印象。
另外C++难的地方是移动语义,模板偏特化,lambda, 模板元编程等知识,C++各种语法组合成的奇淫巧技如果不花大量时间去钻研,看起来是犹如天书(很少有人例外),但对于工业界,特别是嵌入式类应用来说,只使用STL封装的vector,map以及算法等方便开发,封装些模板函数或者类帮助复用,很多时候C++11的新特性都用不全,说困难就有点夸大其词了。
工业界的难点***是如何把产品的需求转换成具体的任务分解(满足性能,成本和功能的平衡,同时能够长期稳定性),而不是使用何种语言来实现任务,当需求导向任意语言,无论是python,js,C++还是java,面向工资编程,只要有需求,总会有人会踏入这个方向,难度不是问题,需求和薪水才是问题。
目前,针对于市场上对于C++/QT工程师的缺口是非常大的,很多公司都需要大量的C++/QT工程师,并且C++/QT工程师的薪资相对来说也是比较高的,对于嵌入式开发人员来说未来的职业规划也是非常好的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嵌入式系统是为特定应用定制的软硬件可裁剪的计算机系统
所以笼统来说嵌入式系统还是计算机系统, 那么什么开发语言都可以应用上去, 只是在什么层面的问题
目前一般最底层(最直接控制硬件的象bootloader)会使用ASM, 驱动和OS部分用C/C++多一些, 应用层的用C/C++/JAVA/C#都有
初学可以从学习MCU和一些硬件驱动开始
所以笼统来说嵌入式系统还是计算机系统, 那么什么开发语言都可以应用上去, 只是在什么层面的问题
目前一般最底层(最直接控制硬件的象bootloader)会使用ASM, 驱动和OS部分用C/C++多一些, 应用层的用C/C++/JAVA/C#都有
初学可以从学习MCU和一些硬件驱动开始
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可定可以的啊,不过用c的比较多,看具体厂商的接口和实现方式,不过大都是c/c++一族
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |