自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 gcc源码应用例子,让FPGA版cpu支持c语言(1)

前几篇文章讲了gcc的词法分析和宏,下面先来个小应用实例,简单介绍一下后端。我相信也有不少大神,自己写过虚拟机或者基于fpga实现过cpu,毕竟由那本自制cpu在嘛(笑)。对于自制的cpu,只能用汇编语言编写代码,那是无论如何也不能忍受的,今天介绍怎么把gcc编译器打包到自制的cpu上,使其支持c和c++。gcc是一个多前端和多后端的编译器集合,如果能驾驭它,就能把一大堆语言打包到任意机器上...

2020-03-04 15:34:26 921 1

原创 gcc源码分析与应用教程(4)宏和预处理

本章继续介绍gcc词法分析,将重点介绍其中的宏定义与展开。按照惯例,我们首先从源码中找到宏相关的内容,包括宏的关键字,以及c语义内置的宏。我们在init.c文件中,找到gcc中内置的几种宏定义,来看下面的截图:这些内置宏,具体的功能,我们这里就不去过多的介绍,感兴趣的可以去专门的网站上查询。下一步,我们找到定义宏的关键字,在文件directives.c中,路径参照上一章截图:第三步...

2020-03-02 15:24:06 617

原创 gcc源码分析与应用教程(3)词法分析框架

本章开始讲gcc的词法分析部分,由于gcc中,把所有c系列语言的词法分析都写在了一起,所以词法分析部分也写的相当复杂,下面我们来具体看一下。我们首先进入到gcc中的libcpp目录下,在这个目录下,便是gcc中,正对c系编程语言的词法分析了,其中有个关键的头文件是cpplib.h,这个头文件便是外部程模块问词法分析模块的接口文件了。在介绍这个文件之前,我们首先介绍一些c语言中,有哪些类型的词...

2020-02-28 16:17:10 1547 2

原创 gcc源码分析与应用系列教程(2)进入编译器前端

gcc编译器,从4.5版本开始,编写语言采用c++,但是无论是c语言还是c++语言,主函数是不变的,都是main,我们先找到其中的main函数。非常直观,main函数的源码文件就叫main.c,我们来看一下它的内容:...

2020-02-25 16:03:06 729 2

原创 gcc源码分析与应用系列教程(1)

因为工作的原因,接触到gcc源码,经过两个多月的分析和学习之后,对它有了一个初步的认识,打算写一篇文章来分享下自己的工作经验。本系列采用gcc-9.2.0的源码,源码阅读工具为vscode,下面我们来看具体的内容。gcc编译器分为三部分,分别是前端,中端,和后端。前端主要实现词法分析,语法分析,语义分析等相关的功能,并将其转换为一种中间语言,我们把这种中间语言,我们把它称之为gimple。...

2020-02-24 12:26:35 1017

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除