深入理解计算机系统第2版--读书笔记

第一章  计算机系统漫游
hello.c就是只由ASCII字符构成的文件称为文本文件,所有其他文件都称为二进制文件。
系统中所有的信息都是由一串位表示的,区分不同数据对象的唯一方法是读这些数据对象时的上下文。
hello.c通过GCC编译器翻译成一个可执行目标文件hello分四个阶段:
1、预处理阶段。预处理器(cpp) hello.i,被修改的源程序(文本)
2、编译阶段。编译器(ccl) hello.s,汇编程序(文本)
3、汇编阶段。汇编器(as) hello.o(二进制),字节编码为机器语言指令
4、链接阶段。链接器(ld)把包含库函数的目标文件和*.o合并成hello(二进制),是可执行目标文件。
虚拟地址空间分区(从最低的地址开始):
1、程序代码和数据
2、堆
3、共享库。空间中间部分存放像C标准库和数学库这样共享库的代码和数据的区域
4、栈。用户虚拟地址空间顶部为用户栈
5、内核虚拟存储器。地址空间顶部的区域为内核保留的。
文件是字节序列。I/O设备、网络都可以视为文件。
第一部分    程序结构和执行
第2章   信息的表示和处理

用ISO C99来编译程序prog.c:  unix> gcc -std=c99 prog.c

转载于:https://www.cnblogs.com/zcwsmile/p/4027810.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值