一、嵌入式开发中为什么选择C语言?

首先嵌入式是在已有的硬件基础上,移植操作系统,而现在操作系统的内核都是用C实现的

二、为什么用C语言开发操作系统内核?

C语言有三大特点(优点):

①C语言具有出色的可移植性,能在多种不同体

系结构的软/硬件平台上运行(单片机,ARM等)

(出色的移植性:

1.一个软件从一个平台切换到另一个平台,修改的代码越少,移植性越好

2.软件能在不同平台下运行

)

②C怨言具有简介紧凑,使用灵活的语法机制,并能直接访问硬件

(还有什么语言访问硬件?

汇编  访问效率高 对硬件初始化用汇编,对硬件做复杂操作用C语言汇编是 低级 语言,没有高级语法,实现不了复杂操作

所以 对硬件进行初始化时,用汇编

读硬件做复杂操作时,用C

)

③C语言具有很高的运行效率

(运行效率高:   不需要通过虚拟机翻译这个过程

)

三、怎么提高代码的移植性?

typedef   #define宏定义   结构体等

四、什么是解释性语言?

使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言, java,python等,运行速度会慢一些

五、编译型语言:

使用专门的编译器,针对特定的平台(操作系统)将某种高级语言源代码一次 性“翻译”成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性 程序的格式

如C,C++

六、

C语言面向结构     Java、C++面向对象

解决微观(具体)   解决宏观(整体、庞大)

七、C语言缺点:

复用性差        能否多次使用

维护性差     出问题时要一个一个去检查

扩展性差     不好加功能(修改代码量多)

评价代码的好坏从:复用性,维护性,扩展性,可读性四个方面来判断

八、C标准:   K&RC           ANSIC/C89              C99                  C11

1979           1989     1999   2011

C语言和其他语言的区别的更多相关文章

  1. C、C++、C#、Java、php、python语言的内在特性及区别

    C.C++.C#.Java.PHP.Python语言的内在特性及区别: C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作 ...

  2. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么

    js课程 3-10  js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么 一.总结 一句话总结:js中是对象点方法的形式,这些方法都是对象的方法,而在php.java中却不是这样. 1.j ...

  3. Hybrid App是如何实现网页语言与程序语言的混合?谁占主体?

    [编者按]本文作者@徐珂铭,一位看好Html5的移动互联网的从业人士.喜爱玩技术,会点JAVA.HTML及CSS,有自己的想法及姑且能表达想法的文字,因此有了自己的文章. 基于HTML5的Web Ap ...

  4. 【C语言】01-C语言概述

      说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 为什么iOS开发要先学C语 ...

  5. Java语言与C++语言的差异总结

    Java的设计者曾说过,设计这门语言的灵感主要来自于C++. 世上先有C++,然后才有Java,整个Java语言的发展历史就是一部对C++的填坑史.所以在Java语言学习过程中,将其与C++语言对比是 ...

  6. C语言与C++语言之间关系

    很多时候我们对于C和C++的区别不是很清楚,以至于弄混的情况并不少见.那C语言和C++语言到底是怎么回事呢? 首先,我们来看下百度百科对语言和C++语言描述,相对而说也还算是比较权威的. C语言 C语 ...

  7. Go语言之Go语言变量

    GO 语言变量 Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性. 标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名.常量名.函 ...

  8. 【C语言】C语言简介

    目录: 1. [什么是C语言?] 2. [C语言历史] 3. [C语言标准] 4. [C语言特点] 1. 什么事C语言? · C语言是一门高级编程语言,用于人与计算机之间的沟通,就如同人与人之间沟通时 ...

  9. 初识GO语言——安装Go语言

    本文包括:1)安装Go语言.2)运行第一个Go语言.3)增加vim中对Go语言的高亮支持. 1.安装Go语言 本文采用源码安装Go语言,Go语言的源代码在百度网盘 http://pan.baidu.c ...

  10. 为什么和其他语言相比C语言是快速的语言

    初入门的我们经常听见别人说"真正的程序员用C语言编程,C是最快的语言因为它是最靠近及其底层的语言."那么和其他语言相比C语言到底有什么特别的呢? C语言没有什么特别,这就是它快速的 ...

随机推荐

  1. 【Java Web开发学习】Spring MVC文件上传

    [Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...

  2. Node.js+Express+MongoDB数据库实现网页注册登入功能

    通过 Node.js + Express + MongoDB 实现网页注册账号 和 登入账号的功能 项目准备: 1: 事先准备好项目的页面 (首页页面 index.html)(登入页面 login.h ...

  3. CRM、ERP是什么?

    CRM 全称 Customer Relationship Management,中文意思是客户关系管理. 为什么会有CRM? 因为我们进入到了产能过剩时代,从卖方市场过渡到买方市场,为了将产品卖出去, ...

  4. Shell—定时任务(crontab)

    如何让shell脚本每天定时执行? 1.新建需要定时执行的shell脚本,这里为date.sh脚本. #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/u ...

  5. 集合系列 Map(十二):HashMap

    HashMap 是 Map 基于哈希散列算法的实现,其在 JDK1.7 中采用了数组+链表的数据结构.在 JDK1.8 中为了提高查询效率,采用了数组+链表+红黑树的数据结构.本文所有讲解均基于 JD ...

  6. Leetcode7 : Reverse Integer 整数反转问题

    问题描述 Example1: x = 123, return 321 Example2: x = -123, return -321 原题链接: https://leetcode.com/proble ...

  7. python 打飞机项目 ( 基类封装 )

    项目代码 | plane # -*- coding:utf-8 -*- import pygame, time from Plane import Plane from HeroPlane impor ...

  8. Open Redirect 开放重定向

  9. Often Misused:Spring Remote Service 经常被误用:Spring远程服务

  10. ASP.NET Core gRPC 入门全家桶

    一. 说明 本全家桶现在只包含了入门级别的资料,实战资料更新中. 二.官方文档 gRPC in Asp.Net Core :官方文档 gRPC 官网:点我跳转 三.入门全家桶 正片: ASP.NET ...