自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 溢出专题……缓冲区溢出原理

 前面基本概念上提到函数调用会用到堆栈,有可能引发缓冲区溢出,现在分析函数调用过程中堆栈上数据的存放过程。如类似程序:  void func1(char *pszcName)  {      char strTmp[10];   strcpy( strTmp, pszcName); }    int main( int agrc, char **argv)  {  

2006-03-09 15:39:00 1238 1

原创 溢出专题……缓冲区溢出概念解析

缓冲区溢出,在我看来可以界定为堆栈溢出。一个程序的运行所占用的内存空间分为三个部分(从内存地址的低端到高端分布): 程序段  :存放程序代码以及只读数据 数据段  :存放程序的静态变量,也就是常量 堆栈段  :函数内部的临时变量,函数调用,参数传递以及动态申请的空间,如为指针申请空间。基本上,缓冲区的溢出只(不知道这个词是否准确)发生在堆栈段。通常发生这个情况的可能是C语言中的字符

2006-03-09 14:48:00 1248

原创 Linux程序设计 摘要(第1,2章)

Linux程序设计1.编程开发基本知识 page1-33  帮助命令:man gcc     info gcc     gcc --help 编译命令:gcc -o file.c  编译文件打包为库文件: ar crv libfoo.a bill.o fred.o 程序、头文件、库文件、静态库。 库文件,是一些预先编译好的函数的集合,其命名以"lib"开头,末尾以"."开始,分别可

2006-02-14 17:36:00 860

原创 Linux 程序设计 1,2章摘要

Linux程序设计1.编程开发基本知识 page1-33  帮助命令:man gcc     info gcc     gcc --help 编译命令:gcc -o file.c  编译文件打包为库文件: ar crv libfoo.a bill.o fred.o 程序、头文件、库文件、静态库。 库文件,是一些预先编译好的函数的集合,其命名以"lib"开头,末尾以"."开始,分别可

2006-02-14 17:33:00 1079

原创 writing clear code 第七部分 编码中的假象

l         如果你要用到的数据不是你自己所有的,那怕是临时的,也不要对其执行写操作。尽管你可能认为读数据总是安全的,但是要记住,从映射到I/O的存储区读数据,可能会对硬件造成危害。l         每当释放了存储区人们还想引用它,但是要克制自己这么做。引用自由存储区极易引起错误。l         为了提高效率,向全局缓冲区或静态缓冲传递数据也是很吸引人的,但是这是一条充满风

2006-02-13 16:34:00 3213

原创 writing clean code 第八部分 剩下来的就是态度问题

l         错误既不会自己产生,也不会自己改正。如果你得到了一个错误报告,但这个错误不再出现了。不要假设测试员发生了幻觉,而要努力查找错误,甚至要恢复程序的老版本。l         不能“以后”再修改错误。这是许多产品被取消的共同教训。如果在你发现错误的时候就及时地更正了错误,那你的项目就不会遭受毁灭性的命运。当你的项目总是保持近似于0个错误时,怎么可能会有一系列的错误呢?l  

2006-02-13 10:04:00 3032

原创 结构体对齐的具体含义

关于字节对齐,这可能是我找到的解释最为准确的一篇文章了,尤其对于 #pragma pack 的解释.之前看了好几篇文章,都解释为是设置默认对齐字节数.唯有该篇指出是设置字节对齐时所允许的最大值.经linux 下验证,符合事实. 似乎网上的文章以讹传讹的情况越来越多了.以至于关于集线器在osi体系中所处的层次居然有3中说法.朋友帖了如下一段代码:   #pragma pack(4)   class 

2006-02-07 14:13:00 1239 1

原创 Linux Shell 编程 第三部分 chapter13-15

登录环境13、登录环境14、shell变量和环境设置变量:$ variable="string" (等号两边不要留空格)显示变量:$echo $variable清除变量:$unset variable显示本地所有变量:$set测试变量是否已设置:$ ${variable:-value}   没有设置就采用value值设置变量只读:$ readonly variable设置环境变量:$export

2005-11-28 13:47:00 826

原创 Linux Shell 编程 第二部分 chapter7-12

文本过滤7. 正则表达式 ^ 匹配行首 $ 匹配行尾 * 一个单字符后紧跟一个*,匹配一个或多个该字符 [] 匹配[]中的字符  / 使一些特殊字符失去原来的意义  . 匹配任意单字符  pattern /{n,/}  匹配某种字符出现n次的模式, pattern /{n/}m 匹配某种字符出现至少n次的模式,  pattern /{n,m/} 匹配某种字符出现n-m次之间的模式,8、grep 家

2005-11-28 10:30:00 1503

原创 Linux Shell 编程 第一部分 Chapter1-6

1。基本文件查看命令  $ ls -l 文件属性:d: 目录l: 符号链接s: 套接字文件b: 块设备文件c: 字符设备文件p: 管道文件-: 普通文件文件所有者用户分类:u: 文件所有者g: 文件所有者所属组o: 其他组用户a: 所有用户相关文件操作的命令: $ touch filename     #创建文件 $ ls -l file|directory   #查看文件信息 $ chmod ?

2005-11-24 11:27:00 1099

原创 《Writing Clear Code---- Microsoft Techniques for Developing Bug-free C Programs 》摘录

  3,  讨论了malloc,free,realloc三个函数的“外壳”包装,分别为bool fNewMemory(void **ppv,size_t size); void FreeMemory(void *ppv); bool fResizeMemory(void **ppv,size_t Newsize); #define bGarbage 0xA3bool  fNewMemory(voi

2005-06-28 11:08:00 1450

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除