上一期我写介绍了如何搭建自己的ide
其中有文本编辑器,编译器,调试工具。这次我将带给大家编译器底层原理,ide底层是如何操作的
首先从源码到可执行文件一共可简单分为以下6个部分
编译原理与GCC编译过程
编译原理:
编译原理是指将高级编程语言(如C、C++)转换为机器语言的过程。这个过程涉及到词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等多个步骤。
GCC编译过程:
GCC(GNU Compiler
Collection)是一个广泛使用的编译器套件,支持多种编程语言。其编译过程可以分为四个主要阶段:
预处理阶段:
预处理器处理源代码中的预处理指令(如#include、#define等),生成扩展后的源代码文件。
编译阶段:
编译器将预处理后的源代码转换为汇编语言代码。这一步骤包括词法分析、语法分析和语义分析等。
汇编阶段:
汇编器将汇编语言代码转换为机器语言代码,生成目标文件(通常是.o或.obj文件)。
链接阶段:
链接器将多个目标文件和库文件合并成一个可执行文件。链接器会解析符号 ...
编程开发
未读数组和广义表
数组
编程开发
未读递归
递归定义
编程开发
未读串
串的概念
编程开发
未读今天是关于数据结构与算法 #栈和队列 ##栈
栈是一种后进先出的数据结构,也叫后进先出栈,后进元素位于栈顶,先进元素位于栈底。
栈的实现方式有:
数组
链表
单链表 待续。。。。。
编程开发
未读今天来学习数据结构与算法
第一章:绪论
数据结构三要素:逻辑结构、存储结构、数据的运算;其中逻辑结构包括线性结构(线性表、栈、队列)和非线性结构(树、图、集合)
数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。
数据元素是数据的基本单位,可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位,
数据对象是具有相同性质的数据元素的集合,是数据的一个子集
数据类型是一个值的集合和定义在此集合上的一组操作的总称
数据类型包括:原子类型、结构类型、抽象数据类型
数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括逻辑结构、存储结构和数据运算三方面内容
数据的逻辑结构和存储结构是密不可分的,算法的设计取决于所选定的逻辑结构,而算法的实现依赖于采用的存储结构
数据的存储结构主要有顺序存储、连式存储、索引存储和散列存储
施加在数据上的运算包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤
在存储数据时,通常不仅要存储各数据元素的值, ...
编程开发
未读Welcome to Hexo! This is your very
first post. Check documentation for
more info. If you get any problems when using Hexo, you can find the
answer in troubleshooting or
you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment
编程开发
未读hello welcome to 小鹤的博客 !
首先什么时IDE,IDE称为集成开发环境,例如VScode,visual studio ,pycharm等
IDE一般包括:代码编辑器,编译器,调试器和图形用户界面等工具。IDE是集成了代码编写功能、分析功能、编译功能、调试功能一体化的开发软件。
IDE的优点
1、节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种性能来帮助开发者组织资源,减少失误,提供捷径。
2、建立统一标准。当一组程序员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
3、管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论。其次,IDE可以展示资源,更便于发现应用所处位置,无需在文件系统里面艰难的搜索。
IDE的缺点
占用空间较大,有时候人们更愿意使用像vs
code这种轻量级代码编辑器,而不是全特性的IDE。
因此我将教大家如何部署一个自己的轻量级IDE 文本编辑器Vim
c语言编译器gcc c语言调试工具 ...