free()的源代码:
void free(void *ptr) {
struct mem_control_block *free;
free = ptr - sizeof(struct mem_control_block);
free->is_available = 1;
return;
}
显然每块堆的前门都是有部分内存存储mem_control_block的一个结构体,应该是os是管理后面malloc分配的堆所用,这个free干的事情真的超级简单,就是将ptr指的堆空间的管理头部结构中的is_available置为1。很显然,os明白:D
附:网上流传的lomo十大法则
1.随身携带,随时使用---无论白天或黑夜
2.LOMO是生命的一部分
3.从屁股那边拍
4.尽可能地接近你期望中的物体
5.不要思考
6.动作要快
7.你不需要预先知道你会在照片中得到什么
8.你也不用设想你事后到底拍出什么
9.随便组合你的照片
10.不要理会这些规则
上个礼拜就发现了这个问题。
优化页面加载速度,其中重要一点就是减少request,于是我们把多张图合并成一张图,用css sprites的方式展现。
可弄完了拿firebug一看吓一大跳,如下图:
一张图请求了N次
即在解释css的background属性中url(***)的时候把***这个地址重复下载,这样css sprites不仅丧失意义,同时还把net traffic加重了。
为了排除是firebug的问题,我抓包,看服务器的log,的确是重复请求了。
不知道这个算不算是bug,还是说是http://www.w3.org/的新的css标准,本人比较懒没有去查,同时本人也比较土,在firefox网站上找了半天也不知道在哪里报告bug,有人看到了我写的这些文字就帮我报告一下吧,说明出处即可。
firefox版本:





