zoukankan      html  css  js  c++  java
  • HNU_Compiler Principles_2

    程序语言基础

    6.1程序结构:

      程序由变量和函数组成,由文件构成;

      文件由句子构成,

      句子分为定义和操作语句,连续同级句子构成一个块

      块可以嵌套,树形结构,

      变量先定义后使用,作用域:单向大盖小,冲突时就近优先

    6.2数据与存储地址

      程序有变量和常量

      变量包含数据变量,函数变量(地址变量)

      变量有值与存储地址两个概念

        变量的值存放在存储器中,有一个存储地址

        变量的值可以是地址

          访问值有变量名存储地址两条途径

          间接访问机制:间接寻址,通过一个数据访问另一个数据。

            应用:函数调用中参数传递;跨模块函数调用;跨模块的数据访问;面向对象中多态的实现;

          别名:函数调用,如果传递参数地址,那么别名就还扩展到了被调函数中

    6.3函数调用中的参数传递

      简单数据类型传递的是值

      对于数组,结构体对象,类对象,传递的是地址

        原因:空间量答,如果传值,需要拷贝数据,存储资源耗费大,时间开销大。

    6.4宏扩展和预处理的含义 

      #define a 100

      则a=10不允许出现,是错误的。

      含义:在预处理环节进行文本替换。预处理是在编译之前执行。

    7.编译技术的演进

    第一代:源程序-》目标机器的二进制可执行文件(机器指令)

    第二代:源程序-》通用的中间代码-》虚拟机解释。 java语言(通用指令和函数)

    第三代:源程序的实时编译和实时解释。Js,Python(层次化的功能函数)

    本质:借鉴生物构成特性:细胞-》组织-》器官-》生物体

        程序:指令->函数-》模块-》包-》应用程序

    小结2

    机器语言的特点:操作指令流,程序繁细很长,无直观

     

  • 相关阅读:
    页面自动打印
    水晶报表安装问题
    c#中重写属性
    水晶报表无法找到数据源问题
    SQL Server2000安装提示数据源配置错误解决方案
    由C/C++中的结构体包含数组引申到C/C++堆栈
    自写缓存类
    C语言fread和fwrite的例子
    C语言生成DLL供C#调用
    C语言操作文件总结
  • 原文地址:https://www.cnblogs.com/Comet-Fei/p/12336468.html
Copyright © 2011-2022 走看看