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

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

     

  • 相关阅读:
    Qt 错误汇集贴
    转:Qt编写串口通信程序全程图文讲解
    转:QT 的点点滴滴 错误总结
    转:Qt项目中遇到的一些小问题汇总
    转:AM335X 启动流程
    基于Xilinx Zynq的计算处理平台
    基于英伟达Jetson TX1的GPU处理平台
    基于6U VPX的 SRIO 接口, 和PCIe 接口的msata 固态存储卡
    国芯网 邀请国产芯片原厂入驻商城
    295-Xilinx Kintex-7 X7K325T的半高PCIe x4双路万兆光纤收发卡
  • 原文地址:https://www.cnblogs.com/Comet-Fei/p/12336468.html
Copyright © 2011-2022 走看看