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

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

?? memmgt.c

?? C語言編譯器的源代碼
?? C
字號:
/*
 * 68K/386 32-bit C compiler.
 *
 * copyright (c) 1997, David Lindauer
 * 
 * This compiler is intended for educational use.  It may not be used
 * for profit without the express written consent of the author.
 *
 * It may be freely redistributed, as long as this notice remains intact
 * and either the original sources or derived sources 
 * are distributed along with any executables derived from the originals.
 *
 * The author is not responsible for any damages that may arise from use
 * of this software, either idirect or consequential.
 *
 * v1.35 March 1997
 * David Lindauer, gclind01@starbase.spd.louisville.edu
 *
 * Credits to Mathew Brandt for original K&R C compiler
 *
 */
/*
 *memmgt.c
 *
 * memory management
 */
#include        <stdio.h>
#include				<malloc.h>

void release_local(void);
void release_global(void);
void release_opt(void);
void release_oc(void);
void mem_summary(void);

typedef struct _blk_ {
        struct _blk_      *next;
				long blksize;
        char            m[1];           /* memory area */
        } BLK;

int global_flag;
static int      glbsize = 0,    /* size left in current global block */
                locsize = 0,    /* size left in current local block */
                glbindx = 0,    /* global index */
                locindx = 0;    /* local index */

static BLK       *locblk = 0,    /* pointer to local block */
                        *glbblk = 0;    /* pointer to global block */

static int optsize,optindx,ocsize,ocindx;
static BLK *optblk,*ocblk;
static long maxopt,maxglb,maxloc,maxoc;
void memini(void)
{
  global_flag = 1;
	glbsize = 0;
	locsize = 0;
	glbindx = 0;
	locindx = 0;
	locblk = 0;
	glbblk = 0;
	optsize = 0;
	optblk = 0;
	optindx = 0;
  maxopt = maxglb = maxloc = 0;
}
static char *palloc(int *sizepos,int size,int *indxpos,BLK **blk)
/*
 * main allocation routine
 */
{
  BLK      *bp;
  char            *rv;
	if( size & 1 )		/* if odd size */
		size += 1;	/* make it even */
	/* if anything left, try to allocate from it */
  if( *sizepos >= size ) {
    rv = &((*blk)->m[*indxpos]);
    *sizepos -= size;
    *indxpos += size;
    return rv;
  }
  else    {
		long allocsize;
		/* else check for size > normal blcok size */
		if (size > 2048) {
			/* this is going to fragment memory!!! I'd fix it except
			 * the fragmentation is partially dependent on the calloc 
			 * implementation 
			 */
			allocsize = size - 1;
			*sizepos = 0;
		}
		else {
			/* as long as we stick to normal blocks, fragmentation
			 * won't be an issue because as long as all blocks are the
			 * same size calloc is guaranteed to find one if there are any
			 */
			allocsize = 2047;
			*sizepos = 2048 - size;
		}
		/* allocate mem */
    bp = calloc(1,sizeof(BLK) + allocsize);
		if( bp == NULL ) {
			release_global();
			release_local();
			release_opt();
			release_oc();
			mem_summary();
			fatal(" not enough memory.");
		}
		bp->blksize = allocsize;
		/* link the block and return the base */
    bp->next = *blk;
    *blk = bp;
    *indxpos = size;
    return (*blk)->m;
	}
}

char    *xalloc(int siz)
/*
 * user-level allocation.  Global symbols are never deallocated; local
 * symbols are deallocated all at once by deallocating the local symbol
 * blocks
 */
{
        if( global_flag ) 
						return palloc(&glbsize,siz,&glbindx,&glbblk);
				else
						return palloc(&locsize,siz,&locindx,&locblk);
}
char    *oalloc(int siz)
/*
 * allocation for optimizer temps
 */
{
/*	return xalloc(siz); */
						return palloc(&optsize,siz,&optindx,&optblk);
}
char *ocalloc(int siz)
/*
 * Allocation for binary code gen
 */
{
	return palloc(&ocsize,siz,&ocindx,&ocblk);
}
static long release(int *sizepos, BLK ** blk)
/*
 * msin memory free routine
 * frees all blocks from a list at once
 *
 * This memory management scheme reduces fragmentation, however
 * temps hang around for a while...
 *
 */
{       BLK      *bp1, *bp2;
				long blkcnt = 0;
        bp1 = *blk;
        while( bp1 != 0 ) {
								blkcnt+=bp1->blksize;
                bp2 = bp1->next;
                free( bp1 );
                bp1 = bp2;
                }
        *blk = 0;
        *sizepos = 0;
				return blkcnt;
}
void release_local(void )
/*
 * release all local allocations
 */
{
	long temp = release(&locsize,&locblk);       
	if (temp > maxloc)
		maxloc = temp;
}

void release_global(void)
/*
 * release all global allocations
 */
{ 
	long temp = release(&glbsize,&glbblk);       
	if (temp > maxglb)
		maxglb = temp;
}
void release_opt(void)
/*
 * release optimizer temps
 */
{
	long temp = release(&optsize,&optblk);       
	if (temp > maxopt)
		maxopt = temp;
}
void release_oc(void)
/*
 * release all binary codegen allocations
 */
{ 
	long temp = release(&ocsize,&ocblk);       
	if (temp > maxoc)
		maxoc = temp;
}
void mem_summary(void)
{
	printf("Memory usage:\n");
	if (maxglb)
		printf("  Globals:        %ld\n",maxglb);
	if (maxloc)
		printf("  Local peak:     %ld\n",maxloc);
	if (maxopt)
		printf("  Optimizer peak: %ld\n",maxopt);
	if (maxoc)
		printf("  Binary code peak: %ld\n",maxopt);

}	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线观看一区| 91麻豆成人久久精品二区三区| 欧美三级在线播放| 一区二区三区四区激情| 色婷婷av一区二区三区大白胸| 一区二区三区高清| 欧美日韩不卡一区| 美女视频黄 久久| ww亚洲ww在线观看国产| 成人国产精品视频| 亚洲一区二区在线免费看| 欧美怡红院视频| 日本网站在线观看一区二区三区| 欧美一区二区三区视频| 成人自拍视频在线| 亚洲综合在线观看视频| 日韩一区二区三区精品视频| 国产大片一区二区| 夜夜爽夜夜爽精品视频| 欧美成人bangbros| 91麻豆精东视频| 日韩高清一区二区| 久久精品视频免费观看| 在线精品观看国产| 日本欧美一区二区| 久久久久久久久久久99999| 在线免费观看日韩欧美| 激情综合色播激情啊| 中文字幕一区二区三区蜜月| 欧美日本韩国一区| 粉嫩欧美一区二区三区高清影视| 亚洲欧美日韩国产另类专区 | 国产精品一区在线观看乱码| 综合电影一区二区三区| 日韩欧美成人一区| 欧美午夜不卡视频| 成人黄色av网站在线| 蜜桃91丨九色丨蝌蚪91桃色| 日韩美女视频一区二区| 欧美mv日韩mv国产网站| 欧美在线观看一二区| 成人性色生活片免费看爆迷你毛片| 香蕉久久夜色精品国产使用方法| 国产精品毛片久久久久久| 欧美电视剧免费全集观看| 91成人在线精品| 国产成人午夜精品5599| 日韩电影免费在线观看网站| 日本一区二区三区四区| 日韩欧美黄色影院| 欧美精三区欧美精三区| 91美女蜜桃在线| 韩国av一区二区| 奇米一区二区三区av| 亚洲一线二线三线视频| 中文字幕亚洲一区二区va在线| 26uuu国产在线精品一区二区| 欧美巨大另类极品videosbest | 成人美女视频在线看| 久久国产人妖系列| 丝袜亚洲另类丝袜在线| 亚洲夂夂婷婷色拍ww47| 日韩理论在线观看| 中文字幕亚洲电影| 亚洲天堂网中文字| 中文字幕一区二区三区视频| 国产精品美女久久久久久| 久久久国际精品| 久久久久高清精品| 久久久久久免费网| 国产色产综合色产在线视频| 久久先锋影音av| 久久你懂得1024| 久久久久综合网| 久久久久久久性| 亚洲国产精品激情在线观看| 久久久99精品久久| 国产精品久久一卡二卡| 自拍偷拍亚洲激情| 亚洲尤物视频在线| 日本中文字幕一区二区视频| 蜜桃精品视频在线观看| 久草中文综合在线| 国产一区二区三区免费| 国产精品18久久久久久久久| 国产精品一区二区三区乱码 | 国产成人精品亚洲777人妖 | 中文字幕av免费专区久久| 国产精品久久久久久妇女6080| 亚洲三级理论片| 偷窥国产亚洲免费视频| 美女性感视频久久| 国产成人综合视频| 日本乱人伦一区| 欧美喷潮久久久xxxxx| 欧美一级黄色片| 欧美国产一区在线| 亚洲午夜一二三区视频| 免费欧美日韩国产三级电影| 国产一区在线视频| 不卡区在线中文字幕| 欧美亚洲图片小说| 日韩免费看的电影| 《视频一区视频二区| 午夜一区二区三区视频| 精品亚洲成av人在线观看| 成人黄色av电影| 欧美欧美欧美欧美首页| 久久精品欧美日韩精品| 亚洲一区二区不卡免费| 国产一区亚洲一区| 在线免费观看不卡av| 精品欧美久久久| 亚洲精品视频在线看| 久久精品国产亚洲一区二区三区| 风间由美一区二区三区在线观看 | 久久综合久久鬼色中文字| 国产精品理论片在线观看| 亚洲高清免费观看| 成人中文字幕合集| 日韩欧美另类在线| 亚洲一区二区成人在线观看| 国产成人精品影院| 欧美疯狂性受xxxxx喷水图片| 国产欧美日韩麻豆91| 日本不卡一区二区三区高清视频| 国产99精品视频| 日韩视频免费观看高清完整版| 亚洲天堂免费在线观看视频| 国产一区在线精品| 91麻豆精品国产自产在线| 亚洲欧洲日韩av| 国内不卡的二区三区中文字幕| 在线视频你懂得一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 亚洲欧美一区二区久久| 国产传媒欧美日韩成人| 日韩视频在线永久播放| 亚洲va欧美va人人爽| 99精品久久久久久| 国产欧美日韩三区| 国产剧情一区二区三区| 日韩欧美在线观看一区二区三区| 又紧又大又爽精品一区二区| 丰满亚洲少妇av| 久久久久九九视频| 久久99国产精品尤物| 欧美一区日韩一区| 一区二区三区丝袜| 一本色道久久综合亚洲aⅴ蜜桃 | 天堂久久一区二区三区| 一本到一区二区三区| 中文字幕欧美激情| 国产一区久久久| 精品国产伦理网| 另类综合日韩欧美亚洲| 4hu四虎永久在线影院成人| 夜夜爽夜夜爽精品视频| 色综合久久中文字幕综合网| 国产精品久久久久久久久晋中| 国产精品888| 欧美极品aⅴ影院| 国产成人夜色高潮福利影视| 久久综合999| 国产成人精品免费视频网站| 国产亚洲精品aa| 豆国产96在线|亚洲| 国产精品视频看| 成人a区在线观看| 成人免费视频在线观看| 色综合av在线| 视频一区免费在线观看| 911精品国产一区二区在线| 蜜臀av性久久久久蜜臀aⅴ| 精品嫩草影院久久| 精品一区二区三区免费毛片爱 | 日韩一区在线播放| 色呦呦一区二区三区| 亚洲高清免费观看高清完整版在线观看| 91麻豆自制传媒国产之光| 一区二区三区四区不卡在线| 欧美日韩aaa| 麻豆国产精品777777在线| 亚洲精品一区二区在线观看| 国产福利一区二区三区在线视频| 国产亚洲视频系列| 99久久99久久精品免费看蜜桃| 亚洲三级小视频| 91麻豆精品国产91久久久资源速度 | 91麻豆精东视频| 无吗不卡中文字幕| 日韩欧美一级精品久久| 国产精品亚洲人在线观看| 中文字幕中文在线不卡住| 欧美性受极品xxxx喷水| 久久国产综合精品| 亚洲欧洲av在线| 制服丝袜亚洲精品中文字幕| 国产精品一区一区三区| 亚洲精品国产无天堂网2021|