常识1:机器语言与高级语言

1.计算机结构

  1. 中央处理单元(CPU)
    • 内部有无数个寄存器
    • 功能:从内存中获取并执行一条又一条指令
      • 指令地址存在寄存器1,获取后的指令存在寄存器2,更新寄存器1中的地址(下一条指令的)
    • 不同CPU制造商使用的指令系统和编码格式不同
      • ==Intel CPU 看不懂 ARM CPU 能看懂的机器语言
      • 不同CPU匹配不同的编译器
  2. 随机存取内存(RAM)
  3. 永久内存存储设备
    1. 例:机械硬盘、固态硬盘
  4. 外围设备
    1. 例:键盘、鼠标、触摸屏

2.编译器

  • 作用:人能看懂的高级语言程序       翻译成      计算机能理解的机器语言指令集
    • 也可以说是 源代码 转换成 可执行代码

3.机器语言

  • 数字指令码

4.高级编程语言

1.C语言

  • 优点:
    • 可移植性
    • 强大且灵活,许多编译器都是C语言写的
    • 简洁
    • 自带函数库(由于没有官方标准,UNIX实现提供的库已成为标准库)
    • 灵活
    • 便于修改
  • 缺点:
    • 错误难以察觉
    • 晦涩(甚至有国际CC语言混淆代码大赛)
  • C是编译性语言
    • 编译!=运行;先编译后运行
    • 编译过程:
      • 步骤1:编译器将源代码翻译为特定的机器语言(中间代码,缺失启动代码(操作系统不同,启动代码不同)及库,非完整程序,无法运行)
      • 步骤2:编译器(这里精确来说是链接器)将中间代码与 需要的C库的代码或其他代码合并为最终程序(一个用户可以运行的可执行文件(其中包含机器语言代码))
    • 在编译过后,就是运行程序(即运行刚刚生成的可执行文件)(不同环境运行前的准备不同)
  • C++是C语言的超集

5.操作系统

1.UNIX

        1.1 C语言

  •        编译器:UNIX C
  •        源文件:.c   例:inform.c
  •        编译命令:cc  inform.c
  •        目标代码文件(最普遍的中间代码形式):inform.o (但生成了可执行文件后就会被删除,除非是有多个源代码文件)
  •        可执行文件:a.out
  •        运行命令:a.out

2.GNU项目

  •        产品:GNU编译器集合(也称GCC,包括GCC C编译器)
  •        许多使用gcc命令的系统,都用cc作为gcc别名

3.LLVM项目

  •      cc的替代品
  •      产品:Clang编译器

4.Linux系统

  •      类似于UNIX,但用的是GCC C编译器

5.集成开发环境(Windows)

  •      简称IDE,大多数是C和C++结合的编译器
  •      举例:Microsoft Visual Studio
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值