zoukankan      html  css  js  c++  java
  • 编译原理

    高级语言,如C语言等                          A             .c ,   .cpp

    中级语言,如汇编语言(目标代码)    B               .obj

    低级语言:机器码(可执行文件)        C            .so,     .exe

    A→B 或 A→C                    称为编译

    B→C                                  称为汇编

    高级语言的编译类似语言的翻译一样:词法分析→语法分析→语义分析→中间代码生成→代码优化→目标代码生成→机器语言

    一般来说语义分析和中间代码生成是一起完成的,合起来称为语法制导翻译。

    编译过程中就可以确定需要存储空间大小的称为静态内存分配,执行时才能确定存储空间大小的称为动态内存分配。

    静态动态分别对应的是编译过程执行过程,动态内存部分又分为栈,堆。

    全局变量显然是静态存储空间。类和方法对应的存储是按整个过程分配的,称为动态记录。

    语言可分为两种:一种是方法中可以嵌套方法的,如pascal;另一种则是不可以的,如C。

    预处理过程:包括宏替换和注释、空格等的删除。

    符号表:用来对应各种操作的操作符。寄存器,cpu附近最快的存储空间,很小,独立于内存之外。

    因此选择将哪些操作变量放到寄存器中就很重要了。

  • 相关阅读:
    第十二周
    第十一周作业
    第十周作业
    第九周作业
    第五周总结和实验报告三
    第四周总结和实验报告二
    第一周实验报告和第三周课程总结
    第二周总结
    2019春总结作业
    2019年春第二次课程设计实验报告
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725245.html
Copyright © 2011-2022 走看看