
编译链接
文章平均质量分 87
cdai
这个作者很懒,什么都没留下…
展开
-
如何实现语义分析中的类型检查
之前曾写过一篇语义分析的概念性介绍:https://daichen.blog.youkuaiyun.com/article/details/100097850。最近,终于开发完了一套基于SQL的语义分析器,算是对之前学习到的理论的一次工程实践。本文只是点出一下实践时的一些关键点和经验,具体细节还请看这里的设计文档:https://github.com/opendistro-for-elasticsearch/...原创 2019-10-12 13:48:20 · 1535 阅读 · 0 评论 -
六星经典CSAPP-笔记(7)加载与链接(上)
六星经典CSAPP-笔记(7)加载与链接1.对象文件(Object File)1.1 文件类型对象文件有三种形式: 可重定位对象文件(Relocatable object file):包含二进制代码和数据,能与其他可重定位对象文件在编译时合并创建出一个可执行文件。 可执行对象文件(Executable object file):包含可以直接拷贝进行内存执行的二进制代码和数据。 共享对象文件(Sh原创 2015-05-22 22:15:46 · 7462 阅读 · 3 评论 -
程序员的自我修养:(1)目标文件
程序员的自我修养:(1)目标文件1.目标文件1.1 编译与链接在使用像Visual Studio或Qt Creator等IDE时,通常有一个叫做“构建”的按钮。当编辑完成要运行和测试时点一下它,程序就能跑起来了,所以我们很少关心编译和链接。其实,编译和链接合并在一起就称为 构建(Build)。简单的一次按键,实际背后却是异常复杂的过程: 预编译(Preprocessing) 编译(Compilati原创 2015-06-05 21:59:02 · 8180 阅读 · 2 评论 -
CSAPP缓冲区溢出攻击实验(下)
CSAPP缓冲区溢出实验(下)3.3 Level 2: 爆竹实验要求这一个Level的难度陡然提升,我们要让getbuf()返回到bang()而非test(),并且在执行bang()之前将global_value的值修改为cookie。因为全局变量与代码不在一个段中,所以我们不能让缓冲区一直溢出到.bss段(因为global_value初始化为0,所以它会被放在.bss而非.data段以节省空间)覆原创 2015-06-12 21:16:32 · 9441 阅读 · 5 评论