
C&C++基础
文章平均质量分 60
dragonbooker
这个作者很懒,什么都没留下…
展开
-
K&R C的历史和特性
C程序设计语言最早是有Dennis M. Ritchie于1973年设计并实现的。当时与其合作者Ken Thompson重实现Unix操作系统而发明的。最初的Unix用汇编语言写成,应用程序用汇编语言和解释型语言B混合编写。B语言的优点在于小巧,能在PDP-7上运行,但是作为系统编程语言还不够强大,所以Dennis Ritchie给它增加了数据类型和结构。C语言从1971年自B语言进化而来,1973年Thompson和Ritchie成功地用新语言C重写了整个Unix系统。C语言也随着Unix系统逐翻译 2011-01-29 22:01:00 · 752 阅读 · 0 评论 -
由float类型与0比较学习浮点型编码格式
IEEE浮点标准用V=(-1)^s * M * 2^E的形式来表示一个数:(1)符号(sign)s决定数是负数(s=1)还是正数(s=0),而对0的符号位作为特殊情况处理。(2)有效数(significant)M是一个二进制小数。(3)指数(exponent)E是2的幂(可能是负数),他的作用是对浮点数的加权。一个浮点数的位表示按上述情形划分为3个域。原创 2011-02-01 10:30:00 · 3200 阅读 · 1 评论 -
小探讨getchar和回车
站位。。原创 2011-02-06 13:49:00 · 579 阅读 · 0 评论 -
浅析系统的大小端模式
大端模式 所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 小端模式 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数 据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。原创 2011-02-06 15:50:00 · 2873 阅读 · 1 评论 -
【转帖】一种新的Heap区溢出技术分析
通常的Heap区溢出只能利用覆盖某些函数指针,jumpbuf或者重要变量等方式来完成攻击。如果系统中没有这些条件,尽管能够发生溢出,攻击者仍然很难执行自己的代码。这里介绍一种利用malloc/realloc/free来进行攻击的方法。这种方法使得Heap攻击的可能性大大增加了。转载 2011-03-08 22:54:00 · 1203 阅读 · 0 评论 -
【转帖】Heap/BSS 溢出机理分析
堆栈溢出的问题已经广为人知,越来越多的操作系统商家增加了不可执行堆栈的补丁,一些个人也提供了自己的补丁,象著名的Solar Designer提供的针对Linux的不可执行堆栈的kernel patch(目前已经推出了用于2.2.13内核的patch),也有一些人开发了一些编译器来防止堆栈溢出,象Crispin Cowan等开发的StackGuard等等。这些方法都一定程度上可以减少由堆栈溢出导致的安全问题,但是并却不能防止Heap/BSS的溢出。在大多数的操作系统中,Heap和BSS段都是可写可执行的。这转载 2011-03-08 22:28:00 · 1184 阅读 · 0 评论