| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 嵌入式系统学习整理-ThreeDay -> 正文阅读 |
|
[嵌入式]嵌入式系统学习整理-ThreeDay |
前言????????由前文知,嵌入式开发会接触到硬件,那么控制硬件要用什么语言呢?那么市面上很火的Python、Java、C++同为高级语言,又有什么区分呢?我们初学者要学习什么语言呢? ????????计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。 一、机器语言是什么?????????机器语言是一种指令集的体系,它是用二进制代码表示的语言,是计算机唯一可以直接识别和执行的语言,它具有计算机可以直接执行、简洁、运算速度快等优点,但它的直观性差,非常容易出错,程序的检查和调试都比较困难,此外对机器的依赖型也很强。 ????????由此可见,二进制的阅读难度巨大,难学、难懂、难理解又无通用性。所以,对嵌入式开发而言机器语言并不适合我们初学者学习。 二、汇编语言是什么?????????汇编语言是面向机器的程序设计语言,它是为了解决机器语言难以理解和记忆的缺点,用易于理解和记忆的名称和符号表示机器指令中的操作码,这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言;于是汇编语言亦称为符号语言。 ? ? ? ? 那么它适不适合学习呢?特点如下:
三、高级语言是什么?????????高级语言为用户提供了一种既接近与自然语言,又可以使用数学表达式,还相对独立于机器的工作方式。与汇编语言一样,机器也不能直接执行用高级语言编写的程序。
????????显而易见,现在大部分程序员用的都是高级语言,而高级语言又有许多分支,如流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,易语言,中文版的C语言等等,这些语言的语法、命令格式都不相同。那么高级语言怎么分类呢?
????????那么C语言和Java真的没有不同吗,许多人也听说做软件就要用Java,那么嵌入式需不需要呢? ????????C语言是一门面向过程的计算机编程语言,与C++、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。?[2]? ????????当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。 ????????C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。 ????????Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 ????????对硬件来说,控制硬件涉及到的大概有精准、快速、易移植,这样看起来汇编语言似乎更适合控制硬件,但不是人人都想学会这晦涩的汇编语言,那么,只比汇编语言效率低10%~20%的C语言就成了最优解。 ????????那么Java语言呢?不都是命令性语言吗? ????????首先要知道Java是面向对象的语言,执行效率比C语言低。为什么会这样呢,简单来说,Java中的面向对象看起来晦涩难懂,其实他只是为了降低了开发效率而设计了对象这个东西,简单来说,对某一个对象来说,他是变形金刚,你输入参数1为车,输入参数2为擎天柱,这就比C语言方便,C语言为面向过程的语言,这样你就要从变形金刚的组成来写并一点点完善功能,所以部分执行效率差在这里,所以Java多用于Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。注:嵌入式系统应用程序就像安卓软件包那种的奥,是软件开发。 ????????虽然Java语言的出现要比C语言晚一些,但是Java语言的发展道路与C语言还是具有明显的区别,或者说Java的开发人员并不是想让Java取代C语言。Java语言的发展道路主要可以体现出三个特点,第一是跨平台;第二是资源整合能力强;第三是并发处理能力强。可以说Java语言在设计上是希望解决C语言之上的问题,也就是网络问题。 ????????实际上,与Java语言同时代的Python语言,在设计思想上与Java也有很多共同点,只不过Python语言更注重库的作用,语言风格更开放(胶水语言),而Java语言依托在当时的Sun技术体系下,则显得要相对“严谨一些”,当时的Sun技术体系也想基于Java成就一个新的开发模式,只不过后来的EJB并没有取得设想的结果。而Python作为胶水语言,也是被我们所需要的。 学习链接C语言学习视频 链接:https://pan.baidu.com/s/1h00QUB-oTJuYENvmRIxjwQ? c 语言程序设计-谭浩强 链接:https://pan.baidu.com/s/12uxfiojyQxl-uey3sWkJcw? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:00:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |