1. 嵌入式系统开发,用c++的利弊在哪
C++面向对象,对于大型工程编写难度小,但体积大,冗余代码多,速度相比C慢些,C面向过程,运行速度快,程序体积小。要是ARM32Bit的话还是用C++吧,一般提上ARM就和操作系统搭边,工程量一般小不了,要是用C51做控制的话首推C(如果会汇编的话是最好),程序体积小,响应快。
2. 嵌入式软件开发为什么用c语言而不用java
开发语言有这么几种说法:
第一代语言是指的是 机器语言,就是01字符串;
第二代语言就是 汇编语言,
而第三代语言就是高级语言,比如C++,java等等
以及第四代语言等等。
显然越早的语言,其级别越低,机器性(也就是面向底层,我们所说
的硬件层)越强。
严格来说,C语言也是第三代语言,然而其中包含了大量面向硬件的
和底层的方法(因此C语言又称作半汇编(好像是吧?)),再加上
其中拥有可以直接操作内存的指针(导致了高效率性),而嵌入式软
件开发主要就是面向硬件层的,而java却没有C语言的上面的那些性质,
再加上java还要在虚拟机上运行(导致在硬件层中是非常不便的),
所以不用java。
3. 为何编写嵌入式系统软件采用C语言最合适
不同硬件平台间可移植性强,并且C作为面向过程的语言,属于高级语言中偏底层的语言,其在硬件平台上的执行效率比C++要稍高一些,更接近于汇编。
嵌入式系统中硬件资源有限,CPU处理能力以及内存空间等资源都不能与个人电脑相提并论。C++需要额外的一些函数库支持,体积上会大些,所以,小且有效率的C是首选。
个人观点。
4. 你认为C语言有哪些优势
我感觉我大一学C语言那会儿刚开始也很丈二的和尚摸不着头脑,对好多概念一知半解,写程序经常忘了分号。突然好像有那么一天我忽然就开悟了!一下子就懂了!可能这是一个量变到质变的过程吧。我认为c语言是系统和软件底层不可缺少的,而且因为现在java、python、ruby等不涉及到系统底层的语言的泛滥,会导致精通c语言的人才更加缺乏。将来的方向是家居智能化以及各种云的理念。而家居智能化就必然会需要嵌入式技术以及c的底层驱动。所以我认为c语言未来的作用会很大,并且就业前景也会很好。
5. 嵌入式为什么选择C语言
这个是有C语言的特性来决定的,C语言的特点是既有高级语言的特性也有低级语言的特性,C语言既能直接进行硬件底层的相关操作,又能实现上层的应用程序开发,并且运行高效、可移植,几乎所有的操作系统底层的实现绝大部分都是使用C语言来实现的,少数地方需要使用汇编语言,嵌入式设备的运行要求和C语言是一拍即合吧。
6. 为什么嵌入式软件要用C语言编写
也可以用汇编编写 c语言也好 汇编也好 或者更高级的语言都是跟人看和些的 让人的思维能够描述出来
然后通过编译环境编译成计算机能看的懂的东西 不同的语言 编译完以后 逻辑上其实都是一样的
然后交给芯片去运行 要说效率 c没有汇编效率高
举个例子
一个韩国工人(计算机)只会懂韩语(机器语言) 领导有一个中国人(程序员)只会说汉语(C语言) 另一个日本人(程序员)只会说日语(汇编) 还有一个西班牙人(程序员)只会说西班牙语(另一种高级语言比如java) 想让韩国人做同样一个事情 中国人用汉语说完经过翻译(编译系统)变成韩国语 韩国工人明白了要干什么 日本人用日语通过翻译 变成韩国语 韩国工人也知道要干什么了 另一个西班牙人 用西班牙语 翻译成韩国语 让韩国人干的是同一个活 翻译完的结果是一样的 只是不同语言表达罢了 c语言更方便 移植性更强(比汇编)
7. 谈谈汇编语言,c和c++三种语言在嵌入式开发中的区别和特点
嵌入式方面,大部分驱动或者是内核开发
这三种语言,汇编,c++
越低级的语言,效率越高,越高级的语言,开发周期越短,就这样
比如启动代码,非得用汇编写,之后为c建立好堆栈,分配好内存,然后c引导就可以了
如果说c语言的结构体满足不了一些功能,比如窗口的事件,以及一些操作,自然会用到c++
8. 嵌入式C语言和普通的C语言有什么区别,有什么新的东西吗
语法上没什么区别,就是普通的c编程是在OS之上,有很多的标准库函数可以调用,分配的内存就是PC机的内存,处理器就是PC的CPU。
而嵌入式C编程的话会涉及到操作硬件,所以底层没有库函数调用,需要自己编写操作硬件的函数,另外编译的时候是用交叉编译器,内存是芯片上的ram,
处理器就是芯片带的处理器,例如ARM或者MIPS等等,而不是PC的x86
CPU,
还有就是在写程序的时候更注重程序的优化和效率,因为嵌入式硬件资源相对PC有限,实时性较强等等。
希望对你有帮助。
9. 嵌入式c语言和c语言的异同
嵌入式编程用的最多的也是C语言,和普通的windows下的C编程不同的就是,比如应用层开发,嵌入式开发出来的应用程序最终不是要运行在PC上
的,而是目标板。所以嵌入式开发就一定会有交叉编译这个环节(简单一点理解就是,在PC下编程,然后交叉编译一下,让程序能运行在PC外的其他平台上,比
如ARM开发板什么的)
稍微做一下类比:
普通编程开发=====CPU(比如奔腾)=====windows操作系统
嵌入式开发=====嵌入式处理器(比如ARM)=====嵌入式操作系统(比如嵌入式linux、wince、vxworks等)
PC上如果没有windows操作系统,那它就是一个DOS机。
嵌入式开发中如果没有嵌入式操作系统,那它就是通常所说的单片机开发,嵌入式开发最初就是从单片机开发走过来的。
现在所说的嵌入式开发,通常都是指有嵌入式操作系统的那种,产品功能复杂了,单片机开发无法实现,需要用到嵌入式操作系统,也能体现出嵌入式操作系
统的优势。
当然现在所讲嵌入式开发和单片机开发的区别不仅仅在是否有嵌入式操作系统上,嵌入式开发所使用的嵌入式处理器(比如ARM
/
MIPS等)在内核体系结构、指令系统、工作模式等方面与单片机都有很大不同。
嵌入式产品在航空、医疗、家电、消费电子、汽车电子、移动等众多领域都可以看到,应用领域极为广泛,所以现在嵌入式开发相当热门,并且具备非常好的发展前景!!
10. 嵌入式开发为什么选择C语言
嵌入式开发经常要访问软硬件系统的底层细节,而c语言恰好提供了这种功能。