Chinaunix首页 | 论坛 | 博客
  • 博客访问: 300825
  • 博文数量: 57
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 769
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-29 14:57
文章分类
文章存档

2014年(39)

2013年(13)

2012年(5)

我的朋友

发布时间:2014-07-11 14:18:14

从写代码上看,内存管理包括内存分配、内存读写、内存释放。内存管理设计不当,会导致堆缓冲溢出、悬空指针(指向一块已经删除了的内存的指针)、double free等问题。1.MALLOC和RECALLOC内存分配不会初始化内存数据调用malloc函数成功后,其分配的内存的数据没有初始化,未知数据。calloc函数调用后,新分配的内存空间也.........【阅读全文】

阅读(664) | 评论(0) | 转发(0)

发布时间:2014-07-09 14:54:02

一.使用限制操作字节数的替代函数,可预防缓冲区溢出的漏洞。1.strncpy() instead of strcpy()2.strncat() instead of strcat()3.fgets() instead of gets()4.snprintf() instead of sprintf()若需要操作的字节数超出字节数限制,这些函数将会截断字符串。另外一些像strncpy的函数不会保证字符串是以N.........【阅读全文】

阅读(602) | 评论(0) | 转发(0)

发布时间:2014-07-07 13:34:15

整个数组存储在连续地内存中。 1.使用sizeof来判断数组大小错误代码点击(此处)折叠或打开void clear(int array[]) {size_t i;for (i = 0; i < sizeof (array) / sizeof (array[0]); ++i) {array[i] = 0;}}.........【阅读全文】

阅读(431) | 评论(0) | 转发(0)

发布时间:2014-07-04 15:42:05

1.小心浮点表达式重排点击(此处)折叠或打开double x, y, z;/* ... */x = (x * y) * z; /* not equivalent to x *= y * z; */z = (x - y) + y ; /* not equivalent to z = x; */z = x + x * y; /* not equivalent to z = x * (1.0 + y);.........【阅读全文】

阅读(530) | 评论(0) | 转发(0)

发布时间:2014-07-03 16:00:54

浮点指的是带有小数的数值,浮点运算即是小数的四则运算,常用来测量电脑运算速度。大部份计算机采用二进制(b=2)的表示方法。位(bit)是衡量浮点数所需存储空间的单位,通常为32位或64位,分别被叫作单精度和双精度。有一些计算机提供更大的浮点数,例如英特尔公司的浮点运算单元Intel8087协处理器(以及其被集成进x86.........【阅读全文】

阅读(533) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册