CMU-CSAPP-Lecture1

目录

0.相关链接

1.Great Realities

1.1数据溢出

1.2  你需要知道汇编

1.3 内存很重要

1.4 性能也很重要 

 1.5 计算机不仅仅值只执行程序

2.课程相关

2.1 课程结构

​2.2 课程的角度

2.3  213-yyds

  2.4 学术诚信

 2.5 教材

2.6 课程组成

2.7 获取帮助

2.8 关于实验与考试的一些约定

2.9 实验与数据


0.相关链接

视频链接

南大的实验链接

https://www.cs.cmu.edu/~213/schedule.html 链接
http://csapp.cs.cmu.edu/3e/labs.html

1.Great Realities

1.1数据溢出

Great Reality 1
Ints are not integers,floats are not reals.

例子1:
Is x^2 >= 0
Int's  : May not.
Float's: Yes



例子2:Is (x+y)+z = x+(y+z)?
Unsigned & Signed int : Yes
Float's : May not.
         (1e20+-1e20)+3.14   --->3.14
         1e20+(-1e20+3.14)   --->?

也许90%的时间下这个都是正常的,但是我们要知道这个数据的范围,有时候他们非常重要,
例如你正在控制一个火箭,你不能希望正向的推称为负向或者类似的东西.同样存在中所周知
的安全的漏洞实例,有人在某处写了那种预期为整数的代码,然后某个聪明人想知道是否可以
通过输入一个负数欺骗这个系统,并且让它作坏事.

结论:
我们要注意并且更好地理解临界情况,防止临界情况带来错误.
在编码的时候要考虑到这些不起眼却可能十分重要的事情.


1.2  你需要知道汇编

1.3 内存很重要

课程的有一个弹幕说:

gcc默认不检查数组越界,除非加编译选项,这个可以查阅一下这条弹幕是否正确. 

1.4 性能也很重要 

 1.5 计算机不仅仅值只执行程序

2.课程相关

2.1 课程结构

2.2 课程的角度

2.3  213-yyds

  2.4 学术诚信

 2.5 教材

2.6 课程组成

2.7 获取帮助

2.8 关于实验与考试的一些约定

2.9 实验与数据

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值