zoukankan      html  css  js  c++  java
  • 编译原理-第一章 引论-C和Java编译系统

    C语言的编译系统:

      

    • 预处理:实现文件包含#include<stdio.h>;实现宏展开#define pi 3.1415926;条件编译#if、#ifdef
    • 汇编器:对输入进行两遍扫描。
      • 第一遍:汇编器扫描输入,将表示存储单元的所有标识符都存入符号表,并分配地址。
      • 第二遍:汇编器再次扫描输入,把每个操作码翻译成机器语言中代表那个操作的位串,并把代表存储单元的每个标识符翻译成为符号表中为这个标识符分配的地址。
    • 连接器:收集、组织程序所需的不同代码和数据。
      • 静态连接器:将多个可重定位目标文件组成一个可执行目标文件(也可以组成一个可重定位目标文件)。
      • 动态连接器:支持在内存中的可执行程序在执行时与共享目标文件进行动态的链接。

    JAVA语言的编译系统:

             

    • 一般的高级语言程序如果要在不同的平台上运行,至少需要编译成不同的目标代码。
    • 既要编译,又要解释;编译只有一次,程序执行时解释执行;通过编译器,把Java程序翻译成一种中间代码——字节码,然后通过JVM解释成相应平台的语言。
    • Java虚拟机技术是实现Java的平台无关性特点的关键。
      • Java虚拟机语言(简称JVML)
      • JVML程序只需与虚拟机交互,不需要关心底层的硬件和操作系统。

    参考-慕课-苏州大学-王中卿老师 

  • 相关阅读:
    Dell FC Switch zone configuration
    RMAN参考使用手册[转载]
    CentOS下SVN简介、下载、安装
    教你制作启动U盘 用U盘装系统(转载)
    RMAN简明使用手册[转载]
    控制文件和重做日志文件(1)[转载)
    RMAN快速入门指南[转载]
    Dell服务转移
    BE Learing 8 异常及解决办法
    10g rman备份恢复案例[转载]
  • 原文地址:https://www.cnblogs.com/fangzhiyou/p/12407869.html
Copyright © 2011-2022 走看看