- 博客(22)
- 收藏
- 关注
原创 SLP(Chapter 12):Cache和Cache-Aware编程
0 简介1 缓存类型(根据实现分类)编写缓存友好代码和缓存感知优化 Writing caching friendly code and cache-aware optimization
2020-01-06 02:48:34 407
原创 SLP(Chapter 11):内存操作和性能
简介1 内存技术 CSAPP 6.12 内存层次结构 CSAPP 6.33 局部 CSAPP 6.24 内存山实验 CSAPP 6.6
2020-01-06 01:55:48 503
原创 SLP(Chapter 10 part 2):性能优化
1 介绍2 The Golden Rules of optimization 黄金准则3 Optimizing compilers4 Example of optimizing program5 General optimization techniques [self study]
2020-01-05 22:59:28 552
原创 SLP(Chapter 10 part 1):性能评估 / 性能测试
1 基础知识2 Performance Principles (法则)3 Performance Measurement4 Profiler (评测器)
2020-01-05 20:28:58 627
原创 SLP(Chapter 13):链接和链接器
Why 学习链接器和加载器?构建大型程序避免危险的程序错误了解如何实现作用域全面了解计算机系统学会利用共享库1 链接和链接器 基础知识程序时间消耗 = 编译 + 链接 + 加载 + 运行链接器比汇编器、编译器更早被发明、使用,即更古老链接器的功能链接器可重定位的对象文件,包括引用的函数库可执行的目标文件链接包含的过程:Symbol Resolution 符号解析...
2020-01-05 18:10:34 164
原创 SLP(Chapter 6):内存布局和分配(part 2)内存漏洞 memory bug
2 内存漏洞2.1 复习指针2.2 制作和使用错误引用2.3 覆盖内存2.4 两次FREE2.5 内存泄漏
2020-01-05 18:10:28 259
原创 SLP(Chapter 6):内存布局和分配(part 1)内存使用方式
1 内存使用方式1.1 内存管理不同生存期lifetime对应于三种内存分配机制之一:静态:在整个程序执行过程中保留的绝对地址动态分配栈:以后到先出顺序分配的交易,具有函数调用和返回堆:根据用户的要求,在任意时间分配和处理1.2 静态分配Static 静态:是指在编译时和构建程序时链接时发生的情况。(不加载或运行)所有全局变量,无论它们是否已声明为静态变量(对另一个文...
2020-01-05 04:32:29 269
原创 SLP(Chapter 5):函数的调用返回
复习PUSH & POPSP 指向当前栈顶最后压入的一个字节例子:PUSH EAX (32bits)假设压栈前SP = 0x0012ff40,则PUSH执行后,0x0012ff3c~3f将用于存放EAX的值,SP=SP-4,即SP修改为 0x0012ff3cPOP AX (16bits)假设压栈前SP = 0x0012ff40,则POP执行后,0x...
2020-01-05 02:30:46 356
原创 SLP(Chapter 3):代码表示
0. 引子Why 汇编CPU不能理解,如 c = (a + b) * d但是CPU可以理解,如将这俩个寄存器的值相加,并将结果存在第一个寄存器中基础知识编译数据和代码在内存中分开存储代码(存储在cs+ip)mov eax,dword ptr[ebp-4](1)C语言代码与汇编代码并不是一一对应,可以一对(2)汇编窗口显示的地址是机器码的地址,而不是汇编的地址,因为虚拟内...
2020-01-04 19:16:24 1882
原创 SLP(Chapter 2):数据表示
位与位运算字节 Word总线传输定长的数据块;C语言中一个int的大小;8位一个字节计算机的地址是字节的地址大小端MSB: maximum sign bit 最高符号位LSB:下面是输出结果。请注意最低有效字节的输出值。 当以% x 形式输出时,它将检查字节的MSB如果是1,则符号位将被扩展并输出一个32位的十六进制。另一方面如果是0,则左边没有0的正数将...
2020-01-01 14:06:54 412
原创 SLP(Chapter 0、1):绪论
why 《系统级编程》?通过操作系统(OS)课程我们明白了进程管理,同步互斥,虚拟内存管理,文件管理但我们仍然不清楚进程化为进程映像后,程序究竟是如何执行的?因此当程序运行出现问题时,很难准确定位错误Some QuestionWhat is Computer System?A computer system is a collection of hardware and softw...
2019-12-30 14:58:47 252 1
原创 Chapter 4(Part 2):自顶向下的语法分析
最右推导过程 = 语法树的前序遍历回溯分析 Backtracking经典回溯想法:先匹配第一种,不对就回溯到上一步预测分析 Predictive递归下降分析 Recursive-descend每个非终结符对应一个分析函数。例:void A(){ 选择一个A的产生式,如A->X~1~X~2~...X~n~ for(i = 1 to n) ...
2019-11-06 23:10:48 124
原创 chapter 3:Lexical Analysis 词法分析
3.1 词法分析的作用从源程序的字符串中找到logic unit逻辑单元(又称__token 语法单元__)token: 语法单元,以一个语法单元名和一个可选属性组成<id, 2> : 标识符,其详细信息在符号表地址为2的地方<number, 100><add_op>pattern: 模式,一个token的词素可能有的形式,可以匹配一个或多...
2019-10-16 11:21:54 348
原创 编译原理:Introduction
1.1 语言处理器如何实现语言?Interpreter 解释器(用“is”的方法解释程序,几乎没有预处理)source code + input interpreter> outputcompilers 编译器(特点是有预处理)source code compiler> machine code(target code)input target code> ou...
2019-10-08 14:13:45 199
原创 记 第十七次CCF计算机软件能力认证
由于前年考的那次第一题被坑了,所以这次特别注意了前面两道简单题的效率和特殊情况,总共前两题花费大约四五十分钟,当时是比较满意的。现在的题目还没有出来,题目细节也记得不是很清楚,只能凭借记忆回忆每道题。第一、二题这两个题意外的没有什么坑,做得挺顺利的。就是第二题那个果树是循环的,为了少写一个判断,第n棵果树的信息是存在下标为0的元素里,这样判断连续三棵树的时候就可以方便一点,直接全部mod ...
2019-09-20 20:10:15 677
原创 Color the ball(树状数组)
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a Input每个测试实例第一行为一个整数N,(N 当N = 0,输入结束。 Output每个测试实例输出一行,包括N个整数,第I个数代表第I个气球总共被涂色的次数。 Sample Input31 12 2
2016-03-17 17:07:59 714
原创 Poj 2586 解题报告
一个超市有一个待售商品集合Prod,集合中每一个商品都有一个最晚销售时间,每一个产品都需要一个单独的单位时间销售(即两件商品不能同时销售),一个销售计划是一个有序子集Sell,Sell,根据子集中的顺序,每一个商品都能在规定时间前销售出去。一个销售计划的利润则为Sell中的所有商品的利润和。比如,如果Prod={a,b,c,d}, (pa,da)=(50,2), (pb,db)=(10,1)
2016-01-25 10:53:22 334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人