本人一直做底层嵌入式开发,但用汇编和C,偏向于单片机,不涉及到嵌入式操作系统,现在想学C++,也把C++语法看一遍了,我只想做嵌入式底层开发这块了,现有疑问如下,希望各位大大帮忙解答:
1.对于嵌入式底层开发,C++能不能用到?就是有没有必要学?
2.如果有必要,能否告知一些C++主要用在哪些底层嵌入式开发上? 另外沿着哪条路学C++对嵌入式开发有帮助? 我知道的就是win api-->MFC,不知道这条路是否可行?在线等...
1.对于嵌入式底层开发,C++能不能用到?就是有没有必要学?
2.如果有必要,能否告知一些C++主要用在哪些底层嵌入式开发上? 另外沿着哪条路学C++对嵌入式开发有帮助? 我知道的就是win api-->MFC,不知道这条路是否可行?在线等...
我最开始搞网页编程的,后来学linux,后来搞嵌入式和云计算,后来又学VC。
我觉得学一个玩意挺快的,关键是挣钱不快。
我猜楼主的情况,设计个电路板,搭建一块linux的板子,都没问题。
想跳出来不做电子了,做上位机程序是吧。
单片机上基本就是中断调用,编程思路完全不一样
底层的话,我觉着直接电子电流,高低电平的才算底层
呵呵,这玩意真的不好界定,不同的人不同的理解。
如果不是大学学这个专业的,我觉得最好是从上玩到下,兴趣导向最重要了。电子电流,高低电平,mcu之类的概念对只做linux应用开发的人来说,无异于火星事物;
但是linux应用程序开发对于做网页的人来说,已经很底层,很嵌入式了。
你可能理解错了,我没有说做网页的不堪。
我说的是做不同层次软件的人对底层的理解是不一样的。举个例子:
比如说一套家用远程摄像头监控系统,远程是用网页可以看的视频和图片的,网页里面用到了ActiveX控件,通过HTTP协议和其他流媒体协议,可以打开一个网页看到家里的动向。
那做这一套系统的肯定不是一个人:你想想,硬件要人设计吧,bootloader要人搞定吧,驱动得有人写吧,应用程序和环境得有人搭建吧,动景、静景识别算法得有人研究吧,网页得有人做吧,客户端安装工具得有写吧,等等等等。
这里面会有不同层次的人在完成同一套系统,里面的人缺一不可,谁少了系统就做不成;但是他们对系统的理解又各自不一样,一些人认为底层的东西,另一些人认为很上层。
SDRAM的机制跟SRAM和NOR Flash不一样,使用前必须用代码初始化内存控制器,设置访问周期等
管它底层,上层,嵌入式开发,web开发...
我觉得技术挑战不需要放到第一位,如果是刚开始参加工作,多经历一些项目,应用层和底层,桌面和嵌入式,都可以涉及涉及,一方面拓宽视野,他山之石可以攻玉,产生1+1>2的效果;另一方面也拓宽了自己的就业面。
1,对于嵌入式底层开发,C++很少用到,即使用到,也只是由于硬件开发的编译器支持C++语法而已,并没有真正用到C++的内涵,所以你只要知道C++的语法就基本够用了,主要思想还是C,尤其电子产生基本就是这么回事,难道你指望在家用电器建立一大堆类然后让它们互相继承??这有意义吗?那只是在浪费执行效率而已。
2,记得日本和德国的32位产品有些支持C++,我想现在应该有很多16位产品也支持C++了吧,但只是支持语法,思想还停留在C,所以直接用C就行了,挺多就结构体改用类来代替。另外,api和嵌入式半点关系没有,可以说,你没有优势,但不会影响你学习,学底层的人的基础都很好,而且现在学什么显然和过去学什么没有关系。