世界上能做一个链接器的人坐不满一屋!做个编译器和链接器应该看的书籍

编译原理三大经典书籍 1、龙书(Dragon book) 英文名:Compilers: Principles,Techniques,and Tools 作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 中文名:编译原理技术和工具 龙书是Alfred V.Aho等人于1986年出版的,由于出版年代较早,其中包含部分过时的技术并且没有反映一些新的编译技术。新编的《编译原理》抛弃诸如算符优先分析等过时技术,增加面向对象编译、类型检查等新技术。本书深入讨论了编译器设计的重要主题, 阅读详情


《链接器和加载器》

 作者: John R.Levine
出版社: 北京航空航天大学出版社
原作名: Linkers and Loaders
译者: 李勇



  

链接器和加载器
 

    

《编译原理》

作者: Alfred V. Aho / Monica S.Lam / Ravi Sethi / Jeffrey D. Ullman
出版社: 机械工业出版社
副标题: 原理、技术与工具
译者: 赵建华 / 郑滔 / 戴新宇
编译原理



《现代编译原理-C语言描述》

作者: (美)安佩尔
出版社: 人民邮电出版社
副标题: C语言描述
原作名: Modern Compiler Implementation in C
 
现代编译原理-C语言描述



《高级编译器设计与实现》

作者: (美)马其尼克/赵克佳/沈志宇
出版社: 机械工业出版社
原作名: Advanced Compiler Design and Implementation

高级编译器设计与实现


关于编译器开发的书籍可以看一下
龙书《编译原理(第二版)》
虎书《现代编译原理-C语言描述》
鲸书《高级编译器设计与实现》
建议从鲸书看起。然后是龙书
再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术
例如面向对象啦,优化,垃圾回收等等.
鲸书看完基本上就可以实现一个简单的Tiny C编译器了
然后在龙书巩固,读一下语言规范,自己看一些开源的汇编编译器代码
自己就可以尝试做一个汇编语言编译器了.等到技术提高了
在尝试做一些高级语法识别,参考LCC代码做一下ANSI C99的
C语言编译器。再来就看你自己的兴趣和领悟度拉
如果想支持C++的话就得要对编译器做许多方便的研究

类似Java那种跨平台或者Ruby,Python等动态语言
虎书中也有描述。当然看自己功力了。。。。

觉得还行就顶一下撒~      

  

编译器开发核心书籍 记录一些重要的编译方面的经典书籍以及论文。 阅读详情

相关推荐

推荐编译链接的书籍

为您推荐关于编译和链接这个主题的经典书籍。这个主题是理解程序如何从源代码变成可执行文件的核心,对于深入理解计算机系统、进行系统级编程和解决复杂的构建问题至关重要。以下书籍从入门到精通,从理论到实践,涵盖了不同层次的需求。

chenningpocom的博客 899

编译原理三大圣书——龙书、虎书、鲸…

昨天在看一位大神的博客时,博客中提到了三本书——龙书、虎书、鲸书。因为自己知识浅薄,所以在此之前还没有听说过这三本书。但是还在想这博客的内容是关于编译和链接的,干嘛要说起这三本和动物有关的书,结果随后在网上查了才知道,这三本书居然是编译原理的三本圣书。今天就决定将这三本书的简单写进博客中,来让我这个井底之蛙扩展一下知识面 (1)龙书 原名:Compilers: Principles, Techn

Working... 1万+

利用随机矩阵理论(random matrix theory)确定微生物网络构建阈值

利用随机矩阵理论(random matrix theory)确定微生物网络构建阈值

微生物生态学分析 7639

关于编译器开发的书籍

关于编译器开发的书籍可以看一下 龙书《编译原理(第二版)》 虎书《现代编译原理-C语言描述》 鲸书《高级编译器设计与实现》 建议从鲸书看起。然后是龙书 再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术 例如面向对象啦,优化,垃圾回收等等. 鲸书看完基本上就可以实现一个简

Sunning Pig 的专栏 3874

论文解读——YOLOv11(目标检测)

YOLOv11提供了多种型号和功能,以满足不同应用场景的需求。对象检测对象检测是YOLOv11的基本功能之一。在训练时,YOLOv11能够检测图像中的对象,并输出对象的边界框和类别信息。这一功能在自动驾驶、智能安防等领域具有广泛应用。图像分割图像分割是YOLOv11的另一个重要功能。与对象检测不同,图像分割不仅检测对象的边界框,还能够对图像中的对象进行像素级别的分割。这使得YOLOv11在医疗影像分析、工业制造等领域具有更高的应用价值。姿态检测姿态检测是YOLOv11的一个独特功能。

qq_38220914的博客 4459

海量Embedding进行相似度查询和比较的方法

这个是在科研中的现实需求。例如每一个源代码文件,我们可以生成一个embedding,如果有超过5000万个embedding(例如用BERT生成5000万个embedding),怎么样有效地计算相似性呢(例如有5000个positive的embedding,想在5000万个中找到类似的)。 简单介绍一下我尝试的结果:如果直接用torch.cosine_similarity,我手里的数据估计至少要处理两个月。这时候就想到了用LSH -- Locality Sensitive Hashing,但是我之前并没怎

qysh123的专栏 4567

编译原理三大经典书籍(龙书 虎书 鲸书)

1、龙书(Dragon book) 英文名:Compilers: Principles,Techniques,and Tools 作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 中文名:编译原理技术和工具 第一版龙书 第二版龙书 龙书”。龙书是Alfred V. Aho等人于1986年出版的,由于出版年代较早,其中包含部分...

445822357 2285

基于 Node.js + MongoDB 技术栈的小众开源短链接程序 —— Lynx

开源的短链接程序有很多,像 YOURLS、Shlink 等大多采用 PHP + MySQL 技术栈。但我之前的服务器配置一般,再加上自己写的小玩具使用的是 Node.js + MongoDB,这些环境已经装在服务器上了,因此更倾向于寻找一款同样基于这套技术栈的短链接程序。搜索了很久才找到这么一款基于的短链接程序——Lynx。这个开源项目非常小众,Star 数只有两百多。

zc_mk的博客 827

转载:编译原理三大圣书——龙书、虎书、鲸书

原始链接:编译原理三大圣书——龙书、虎书、鲸书_kingmax54212008的博客-优快云博客_编译原理龙书编译原理三大圣书——龙书、虎书、鲸…看到一位大神的博客时,博客中提到了三本书——龙书、虎书、鲸书。因为自己知识浅薄,所以在此之前还没有听说过这三本书。但是还在想这博客的内容是关于编译和链接的,干嘛要说起这三本和动物有关的书,结果随后在网上查了才知道,这三本书居然是编译原理的三本圣书。今天就决定将这三本书的简单写进博客中,来让我这个井底之蛙扩展一下知识面(1)龙书原名:Compil...https:

黄道婆的专栏 1015

2万字长文:海豚调度器(DolphinScheduler)面试题深入了解

DAG图(有向无环图)是海豚调度器中表示工作流任务依赖关系的一种方式。在DolphinScheduler中,每个任务是一个节点,任务之间的依赖关系通过有向边连接这些节点来表示。无环:保证了工作流的执行顺序是确定的,避免了无限循环的问题。有向:箭头指示了任务的执行方向,即上一个任务的输出可以作为下一个任务的输入。依赖表示:通过图形化界面,用户可以通过拖拽连接线来定义任务之间的先后顺序和依赖关系。并行处理:DAG图可以表示出任务的并行关系,允许多个任务在没有直接依赖关系的情况下同时执行。条件分支。

大模型大数据攻城狮的专栏 1332

RK3588嵌入式AI工业部署:YOLOv11 + OpenCV实时推理系统全栈实现

接下来,你可以尝试优化模型(如量化、剪枝)、扩展功能(如多摄像头推理、结果上传到云端),让你的AI应用更加完善。不需要担心技术门槛,我们会一步步带你完成环境搭建、模型转换、部署推理的全流程,最终让你在RK3588上体验AI目标检测的丝滑快感。首先,我们需要把YOLOv11的PyTorch模型(.pt格式)转换成ONNX格式,这是模型部署的第一步。此时,你应该能看到摄像头画面中出现了实时的目标检测框,标注着检测到的物体类别和置信度。文件,这就是RK3588可运行的模型文件。文件,这就是转换后的ONNX模型。

LXY_LOVE36的博客 246

自己动手写编译器链接器高清完整版PDF资源介绍

自己动手写编译器链接器高清完整版PDF资源介绍 【下载地址】自己动手写编译器链接器高清完整版PDF资源介绍 探索编译器与链接器的奥秘,动手实践构建属于你的编程工具!《自己动手写编译器链接器高清完整版》PDF资源为你提供了深入理解编译器和链接器原理的绝佳机会。无论你是计算机科学爱好者还是专业人士,本书通过清晰的讲解和丰富的...

gitblog_06775的博客 516

YOLOv12涨点改进 | 全网首发,Conv改进篇 | CVPR 2025 | YOLOv12引入FDConv频率动态卷积,含A2C2f_FDConv二次创新模块,能够捕捉更加丰富和复杂的特征信息

本文提出了一种改进YOLOv12目标检测模型的方法——频率动态卷积(FDConv)。FDConv通过增强卷积核的频率响应多样性,使模型能够更好地处理不同频率信息,从而提高检测精度。该方法包含三个关键组件:傅里叶离散权重(FDW)实现频率分组,核空间调制(KSM)动态调整频率响应,以及频率带调制(FBM)进行频域调节。实验结果表明,FDConv能以较少的参数增长(仅增加3.6M)显著提升模型性能,在目标检测、实例分割等任务中优于传统动态卷积方法。该方法可灵活集成到ResNet、ConvNeXt等多种架构中。

Ai缝合怪、助力小伙伴高效发论文 421

《自己动手写编译器、链接器》学习资源包

《自己动手写编译器、链接器》学习资源包 去发现同类优质开源项目:https://gitcode.com/ 欢迎使用《自己动手写编译器、链接器》学习资源包!本资源包致力于帮助您深入了解编译器和链接器的工作原理,并提供实践的机会。 资源内容 本资源包包含以下内容: 《自己动手写编译器、链接器》高清带目录PDF书籍:一本深入浅出地介绍编译器和链接器设计与实现的电子书,大小为52.0MB。该书内容丰富...

gitblog_06735的博客 271

手把手教你学simulink(36.1)--ACAC变换器场景示例:基于 Simulink 的矩阵变换器(Matrix Converter)

矩阵变换器(Matrix Converter, MC)是一种直接将交流电(AC)转换为不同频率和幅值的交流电的电力电子设备。与传统的基于直流环节的变频器不同,矩阵变换器不需要中间的直流环节,而是通过双向开关直接在输入和输出之间进行能量传递。这种结构使得矩阵变换器具有更高的效率、更小的体积和更好的动态响应。在本项目中,我们将使用 MATLAB/Simulink 来建模和仿真一个矩阵变换器,并分析其性能。Simulink 是一个强大的仿真工具,特别适合用于电力电子系统的建模和仿真。

MHD0815的博客 1066

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

自己动手写编译器、链接器一书作者自序

本书讲述了一个真实编译器的开发过程,源语言是以C语言为蓝本,进行适当简化定义的一门新语言,称之为SC语言(简化的C语言),目标语言是大家熟悉的Intel x86机器语言。在本书中,读者将看到从SC语言定义,到SCC编译器开发的完整过程。本书介绍的SCC编译器,没有借助Lex与Yacc这些编译器自动生成工具,纯手工编写而成,更便于学习和理解。为了生成可以直接运行EXE文件,本书还实现了一个链接器。读完本书读者将知道一门全新的语言如何定义,一个真实的编译器、链接器如何编写。

u013407592的专栏 2007

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

自己动手写编译器链接器学习资源包:深入理解编译原理,实践编译器开发

自己动手写编译器链接器学习资源包:深入理解编译原理,实践编译器开发 去发现同类优质开源项目:https://gitcode.com/ 编译器与链接器作为程序开发中的核心组件,其工作原理与技术细节对于软件开发者而言至关重要。今天,我们就来推荐一款开源学习资源包——《自己动手写编译器、链接器》,它不仅提供了深入的理论知识,还让您有机会亲手实践编译器的开发过程。 项目介绍 《自己动手写编译器、链接器》学...

gitblog_06738的博客 843

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

自己动手写编译器、链接器

在本书中,读者将看到从SC语言定义,到SCC编译器开发的完整过程。读完后你将知道一门全新的语言如何定义,一个真实的编译器如何编写,这些对你来说也将不再神秘,编译原理讲的理论与本书中讲述的SC语言定义及SCC编译器开发过程,是理论联系实际在编译领域的最好阐释。

u013407592的专栏 3585

赠送《自己动手写编译器、链接器》给龙书联合作者Monica

2015年10月14日,参加第六届MDCC移动开发者大会,赠送《自己动手写编译器、链接器》给龙书联合作者Monica

u013407592的专栏 3766

基本概念:源代码,字节码,编译器,虚拟机

源代码   源代码示例源程序(source code)是指未编译的按照一定的程序设计语言规范书写的文本文件。 源代码(也称源程序),是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译

JavaDevelopmentLearner 2958

好书一本——链接器和装载器

现在绝大部分编译原理著作中都缺少的编译器工作流程的重要一环——链接器和装载器。粗略翻看了目录,发现这本书讲解的内容的确非常详细独到,本人才疏学浅,只能用一句话描述:在连接器和装载器这一块,只有我们想不到的,没有他讲解不到的。我想,能够理解书中大部分内容,多加实践,并坚持一段时间,写一个linker 或 loader是很有可能的。还有,听说vc, gcc 等编译器的linker 和 loader

983

浅谈日系技术书籍

  最近正在读《C程序性能优化---20个实验与达人技巧》,真是又大开眼界了一次。不禁想起最近读过的几本日系技术书籍。   首先不得不说的就是这本书和很像的很早之前看过的一本叫《短码之美》的书。前面那本书说的是如何从底层(CPU)分析C语言语句的执行成本,而《短码之美》说的是如何尽可能的写出最短的代码,书上的例子都来自POJ,这是作者的POJ主页:CLICK   随便找个他做的题(看...

diancha6978的博客 308

新书上架《LLVM编译器开发指南》~

新书上架《LLVM编译器开发指南》~

liteng890116的博客 3万+
上一篇: c运行库简介
下一篇: 做自己的linux发行版 LFS、BLFS、ALFS、HLFS的区别
simanstar
博客等级 码龄14年 226粉丝 146原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值