计算机系统
文章平均质量分 77
navyhu
这个作者很懒,什么都没留下…
展开
-
深入理解计算机系统(笔记):程序的机器级表示
分析高级语言编译后生成的汇编语言。 1. 程序编码 运行如下命令得到C语言的汇编代码: unix> gcc -O1 -S code.c gcc -c选项编译源文件生产目标文件code.o: unix> gcc -O1 -c code.c 可以使用反汇编器(disassembler)来查看目标文件内容:readelf/objdump unix> objdump原创 2015-06-04 22:10:18 · 1059 阅读 · 0 评论 -
深入理解计算机系统(笔记):计算机系统漫游
经典书籍:深入理解计算机系统 的读书笔记 1. 了解编译器如何工作对编程帮助巨大: 1.1 优化程序性能 比如相似语句那种效率高,比如switch和if-then-else语句,while和for循环,循环求和的结果放到本地变量比放到引用传递来的参数速度快,等 1.2 理解链接时错误 链接器无法解析引用,静态变量和全局变量区别,不同源文件定义同名全局变量会发生什么,等原创 2015-06-01 16:59:58 · 803 阅读 · 0 评论 -
深入理解计算机系统(笔记):链接
理解链接有很多好处: 有助于构造大型程序有助于避免一些危险编程错误有助于理解其他重要的系统概念让你能够利用共享库 1. 编译器驱动程序 编译命令,假设有main.c和swap.c两个源文件 $ gcc -O2 -g -o p main.c swap.c 实际上编译过程可以分解为以下步骤 1. 运行C预处理器(cpp),将main.c翻译成一个中间文件 $cpp [optio原创 2015-07-24 18:35:32 · 2228 阅读 · 0 评论