亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? malloc.c

?? unix v7是最后一個廣泛發布的研究型UNIX版本
?? C
字號:
#ifdef debug#define ASSERT(p) if(!(p))botch("p");elsebotch(s)char *s;{	printf("assertion botched: %s\n",s);	abort();}#else#define ASSERT(p)#endif/*	avoid break bug */#ifdef pdp11#define GRANULE 64#else#define GRANULE 0#endif/*	C storage allocator *	circular first-fit strategy *	works with noncontiguous, but monotonically linked, arena *	each block is preceded by a ptr to the (pointer of)  *	the next following block *	blocks are exact number of words long  *	aligned to the data type requirements of ALIGN *	pointers to blocks must have BUSY bit 0 *	bit in ptr is 1 for busy, 0 for idle *	gaps in arena are merely noted as busy blocks *	last block of arena (pointed to by alloct) is empty and *	has a pointer to first *	idle blocks are coalesced during space search * *	a different implementation may need to redefine *	ALIGN, NALIGN, BLOCK, BUSY, INT *	where INT is integer type to which a pointer can be cast*/#define INT int#define ALIGN int#define NALIGN 1#define WORD sizeof(union store)#define BLOCK 1024	/* a multiple of WORD*/#define BUSY 1#define NULL 0#define testbusy(p) ((INT)(p)&BUSY)#define setbusy(p) (union store *)((INT)(p)|BUSY)#define clearbusy(p) (union store *)((INT)(p)&~BUSY)union store { union store *ptr;	      ALIGN dummy[NALIGN];	      int calloc;	/*calloc clears an array of integers*/};static	union store allocs[2];	/*initial arena*/static	union store *allocp;	/*search ptr*/static	union store *alloct;	/*arena top*/static	union store *allocx;	/*for benefit of realloc*/char	*sbrk();char *malloc(nbytes)unsigned nbytes;{	register union store *p, *q;	register nw;	static temp;	/*coroutines assume no auto*/	if(allocs[0].ptr==0) {	/*first time*/		allocs[0].ptr = setbusy(&allocs[1]);		allocs[1].ptr = setbusy(&allocs[0]);		alloct = &allocs[1];		allocp = &allocs[0];	}	nw = (nbytes+WORD+WORD-1)/WORD;	ASSERT(allocp>=allocs && allocp<=alloct);	ASSERT(allock());	for(p=allocp; ; ) {		for(temp=0; ; ) {			if(!testbusy(p->ptr)) {				while(!testbusy((q=p->ptr)->ptr)) {					ASSERT(q>p&&q<alloct);					p->ptr = q->ptr;				}				if(q>=p+nw && p+nw>=p)					goto found;			}			q = p;			p = clearbusy(p->ptr);			if(p>q)				ASSERT(p<=alloct);			else if(q!=alloct || p!=allocs) {				ASSERT(q==alloct&&p==allocs);				return(NULL);			} else if(++temp>1)				break;		}		temp = ((nw+BLOCK/WORD)/(BLOCK/WORD))*(BLOCK/WORD);		q = (union store *)sbrk(0);		if(q+temp+GRANULE < q) {			return(NULL);		}		q = (union store *)sbrk(temp*WORD);		if((INT)q == -1) {			return(NULL);		}		ASSERT(q>alloct);		alloct->ptr = q;		if(q!=alloct+1)			alloct->ptr = setbusy(alloct->ptr);		alloct = q->ptr = q+temp-1;		alloct->ptr = setbusy(allocs);	}found:	allocp = p + nw;	ASSERT(allocp<=alloct);	if(q>allocp) {		allocx = allocp->ptr;		allocp->ptr = p->ptr;	}	p->ptr = setbusy(allocp);	return((char *)(p+1));}/*	freeing strategy tuned for LIFO allocation*/free(ap)register char *ap;{	register union store *p = (union store *)ap;	ASSERT(p>clearbusy(allocs[1].ptr)&&p<=alloct);	ASSERT(allock());	allocp = --p;	ASSERT(testbusy(p->ptr));	p->ptr = clearbusy(p->ptr);	ASSERT(p->ptr > allocp && p->ptr <= alloct);}/*	realloc(p, nbytes) reallocates a block obtained from malloc() *	and freed since last call of malloc() *	to have new size nbytes, and old content *	returns new location, or 0 on failure*/char *realloc(p, nbytes)register union store *p;unsigned nbytes;{	register union store *q;	union store *s, *t;	register unsigned nw;	unsigned onw;	if(testbusy(p[-1].ptr))		free((char *)p);	onw = p[-1].ptr - p;	q = (union store *)malloc(nbytes);	if(q==NULL || q==p)		return((char *)q);	s = p;	t = q;	nw = (nbytes+WORD-1)/WORD;	if(nw<onw)		onw = nw;	while(onw--!=0)		*t++ = *s++;	if(q<p && q+nw>=p)		(q+(q+nw-p))->ptr = allocx;	return((char *)q);}#ifdef debugallock(){#ifdef longdebug	register union store *p;	int x;	x = 0;	for(p= &allocs[0]; clearbusy(p->ptr) > p; p=clearbusy(p->ptr)) {		if(p==allocp)			x++;	}	ASSERT(p==alloct);	return(x==1|p==allocp);#else	return(1);#endif}#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一级二级三级| xvideos.蜜桃一区二区| 国内精品不卡在线| 亚洲精品视频免费观看| 久久久国产午夜精品| 欧美三级电影在线观看| 国产精品中文有码| 日产国产欧美视频一区精品 | 欧美日韩在线播放三区| 国产福利一区二区三区视频| 日韩精品久久理论片| 综合久久久久久久| 久久久影视传媒| 欧美一区二区三区精品| 色老头久久综合| 岛国一区二区在线观看| 蜜桃传媒麻豆第一区在线观看| 一区二区三区日本| 中文字幕中文字幕一区二区| www国产精品av| 日韩午夜激情av| 欧美精品久久99| 欧美性大战久久| 91成人免费电影| av高清不卡在线| 成人午夜视频免费看| 国产一区二区精品久久| 美女www一区二区| 日韩激情视频网站| 香蕉久久夜色精品国产使用方法 | 亚洲日本韩国一区| 国产精品你懂的在线欣赏| 久久精品视频一区| 久久夜色精品国产欧美乱极品| 日韩视频免费直播| 欧美一级在线观看| 欧美电影影音先锋| 3d动漫精品啪啪一区二区竹菊 | 国产精品美女久久久久久久网站| 精品国产百合女同互慰| 日韩欧美黄色影院| 日韩精品一区二区三区视频| 日韩情涩欧美日韩视频| 日韩欧美的一区| 2020国产精品久久精品美国| 精品福利在线导航| 精品国产亚洲一区二区三区在线观看| 欧美一区二区福利视频| 日韩一区二区三区观看| 精品少妇一区二区三区在线播放| 日韩欧美一级片| 久久久99免费| 国产精品无人区| 中文字幕色av一区二区三区| 国产精品高潮呻吟久久| 亚洲欧美一区二区三区国产精品 | 日韩成人伦理电影在线观看| 美女诱惑一区二区| 精品一区二区影视| 成人免费av网站| 91麻豆福利精品推荐| 欧美视频在线一区| 欧美v日韩v国产v| 国产欧美一区二区精品婷婷 | 亚洲综合丁香婷婷六月香| 亚洲一二三四区| 青娱乐精品视频| 国产成人av电影在线观看| 91在线高清观看| 欧美二区在线观看| 久久嫩草精品久久久久| 一区在线观看视频| 婷婷综合在线观看| 国产乱码精品1区2区3区| www.亚洲在线| 3d成人h动漫网站入口| 久久久影视传媒| 一区二区三区四区在线播放 | 国产精品欧美久久久久一区二区| 一区二区三区精品| 韩国女主播成人在线观看| 成av人片一区二区| 欧美日韩国产另类一区| 国产午夜亚洲精品理论片色戒 | 欧美日韩国产综合草草| 精品国产亚洲在线| 夜夜亚洲天天久久| 国产激情视频一区二区三区欧美 | 天堂成人免费av电影一区| 国内精品伊人久久久久av一坑| 99久久久久久| 精品少妇一区二区三区| 亚洲欧美视频在线观看视频| 精品一区二区三区香蕉蜜桃 | 成人性生交大片免费看中文| 欧美日韩精品欧美日韩精品| 久久久亚洲高清| 亚洲777理论| av电影在线观看一区| 日韩一区二区三区四区| 亚洲欧美激情小说另类| 国产精品一区二区在线播放 | 国产**成人网毛片九色| 在线播放中文字幕一区| 国产精品美女久久久久久久久| 日本在线不卡视频| 欧美日韩在线播放三区四区| 国产精品毛片大码女人| 精品亚洲aⅴ乱码一区二区三区| 欧美视频一区在线观看| 亚洲视频狠狠干| 国产毛片精品国产一区二区三区| 在线综合视频播放| 亚洲在线视频免费观看| av一区二区三区四区| 国产午夜精品一区二区三区视频| 日本在线不卡一区| 欧美日韩一区二区在线观看视频| 欧美一区二区在线免费观看| 国产精品久久久久影视| 国产揄拍国内精品对白| 精品视频资源站| 国产精品久久久久久久久果冻传媒 | 成人久久久精品乱码一区二区三区| 欧美性视频一区二区三区| 国产亚洲欧美日韩日本| 日韩不卡在线观看日韩不卡视频| 97国产一区二区| 亚洲色图视频免费播放| caoporn国产一区二区| 亚洲欧美日韩系列| 精品国产不卡一区二区三区| 欧美成人精精品一区二区频| 欧美精品v日韩精品v韩国精品v| 91视频在线观看| 不卡的av在线| 成人18视频在线播放| 国产寡妇亲子伦一区二区| 国产精品原创巨作av| 国产在线精品视频| 国产精品自拍三区| 国产成人免费视频| 欧美性生活一区| 欧美老肥妇做.爰bbww| 欧美日韩成人激情| 日韩一二三区视频| 久久久亚洲精品一区二区三区| 久久精品日韩一区二区三区| 欧美一区二区三区影视| 色av一区二区| 欧美日韩情趣电影| 日韩亚洲欧美综合| 久久久久99精品国产片| 国产精品无圣光一区二区| 亚洲成人www| 久久精品国产精品青草| 国产乱码精品一品二品| av电影在线观看一区| 91丝袜呻吟高潮美腿白嫩在线观看| 在线播放亚洲一区| 精品福利二区三区| 国产精品久久久久久妇女6080| 一区二区三区欧美| 日本一区中文字幕| 91蜜桃在线免费视频| 欧美精三区欧美精三区| 久久色中文字幕| 夜夜嗨av一区二区三区四季av| 国产999精品久久久久久 | 国产性天天综合网| 亚洲人成精品久久久久| 日本欧美肥老太交大片| 精品在线免费视频| 国产麻豆91精品| 在线中文字幕一区| 久久久国产综合精品女国产盗摄| 亚洲区小说区图片区qvod| 亚洲韩国精品一区| 色综合中文字幕国产| 337p亚洲精品色噜噜| 国产精品免费视频观看| 亚洲v精品v日韩v欧美v专区| 一本一道波多野结衣一区二区 | 91一区二区三区在线观看| 8x福利精品第一导航| 国产精品久久毛片a| 国产精品一区二区久久精品爱涩| 欧美午夜片在线看| 亚洲视频综合在线| 国产一区三区三区| 欧美日韩在线综合| 欧美韩日一区二区三区| 国内一区二区在线| 欧美一区在线视频| 亚洲精品中文字幕在线观看| 亚洲图片你懂的| 成人av网站在线观看| 精品免费日韩av| 午夜精品久久久久久久99樱桃| 国产精品1区2区3区在线观看|