C语言编译系统初探计算机系01本陈海东
C语言编译系统初探 计算机系01本 陈海东
概述该系统是一个简易的32位C语言编译系统,可以实现C语言程序从编辑修改、编译到连接、运行等一系列过程。能够工作在Windows的各个版本下。必须声明的是:在设计实现这个系统的时候我并未正式接触过编译原理,因此难免会有很多贻笑大方之处?
概述 该系统是一个简易的32位C语言编译 系统,可以实现C语言程序从编辑修改、 编译到连接、运行等一系列过程。能够工 作在Windows的各个版本下。 必须声明的是:在设计实现这个系统 的时候我并未正式接触过编译原理,因此 难免会有很多贻笑大方之处☺
主要构成模块编译程序汇编程序连接程序运行库及启动代码工程管理程序,集成开发环境
主要构成模块 • 编译程序 • 汇编程序 • 连接程序 • 运行库及启动代码 • 工程管理程序 • 集成开发环境
系统流程C编译汇编程序程序C源代码+编译一汇编→一汇编代码目标代码C源代码连接编译+一汇编代码一汇编一目标代码程序C源代码可执行文件连接编译一汇编一汇编代码→目标代码C源代码编译一汇编代码一汇编一目标代码C运行库
系统流程 C源代码 编译 汇编代码 汇编 目标代码 C源代码 编译 汇编代码 汇编 目标代码 C源代码 编译 汇编代码 汇编 目标代码 C源代码 编译 汇编代码 汇编 目标代码 C运行库 连接 可执行文件 C编译 程序 汇编 程序 连接 程序
编译程序编译器是系统的核心部分,用纯面向对象的方法设计,是技术上最难实现的部分。由于本项目的目标只是做编译器的尝试且为了调试方便,因此并未使用低级语言而是采用VisualC++6.0来实现。编译器以普通的C源代码文件为输入,以32位x86汇编语言代码文件为输出。该编译器实现了一些简单的优化。如常值表达式的化简等
编译程序 编译器是系统的核心部分,用纯面向对象的 方法设计,是技术上最难实现的部分。由于本项 目的目标只是做编译器的尝试且为了调试方便, 因此并未使用低级语言而是采用Visual C++ 6.0来 实现。 编译器以普通的C源代码文件为输入,以32 位x86汇编语言代码文件为输出。 该编译器实现了一些简单的优化。如常值表 达式的化简等