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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? memmgt.c

?? C編譯器源碼是我到處找來的,看了之后很有收獲
?? C
字號(hào):
/*
 * 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);

}	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲电影在线免费观看| 91精品国产综合久久精品app| 一本色道久久加勒比精品 | 日韩精品一区二区三区在线观看 | 欧美日韩日日夜夜| 欧美韩日一区二区三区| 免费欧美日韩国产三级电影| 91美女片黄在线观看| 久久久久久毛片| 免费成人av在线播放| 欧美色图在线观看| 欧美成人精品高清在线播放| 亚洲激情网站免费观看| 不卡电影一区二区三区| 精品久久一区二区| 奇米影视一区二区三区| 高清成人免费视频| 精品国产一区二区三区久久影院 | 7777精品伊人久久久大香线蕉的 | 欧美在线视频不卡| 中文字幕一区二区在线播放| 精品一区二区在线播放| 欧美一二三四区在线| 午夜久久福利影院| 欧美三级三级三级爽爽爽| 亚洲日本欧美天堂| 成人av午夜影院| 中文字幕欧美日本乱码一线二线| 一区二区三区免费观看| 91香蕉视频在线| 国产精品另类一区| 国产91精品一区二区麻豆网站| 91国模大尺度私拍在线视频| 欧美大胆一级视频| 亚洲男人的天堂在线aⅴ视频| 日韩精品久久理论片| 欧美日韩夫妻久久| 亚洲午夜免费电影| 欧美三级在线看| 亚洲成人第一页| 欧美日韩一区不卡| 五月天久久比比资源色| 69堂精品视频| 免费亚洲电影在线| 精品久久久久久最新网址| 亚洲免费高清视频在线| 91色视频在线| 亚洲影院久久精品| 欧美丰满美乳xxx高潮www| 图片区小说区区亚洲影院| 91麻豆精品国产91| 激情综合网天天干| 欧美精品一区二区三区四区 | 精品日韩一区二区三区免费视频| 一区二区三区在线免费观看| 国产精品一区二区三区乱码| 欧美一区二区网站| 久久国产生活片100| 欧美综合一区二区三区| 亚洲h在线观看| 91精品蜜臀在线一区尤物| 另类专区欧美蜜桃臀第一页| 久久精品视频一区| 91免费看视频| 五月激情综合色| 亚洲精品在线免费播放| 美脚の诱脚舐め脚责91 | 国内久久婷婷综合| 国产精品网站导航| 91豆麻精品91久久久久久| 舔着乳尖日韩一区| 91官网在线免费观看| 亚洲香肠在线观看| 91精品国产综合久久福利| 国产在线观看一区二区| 亚洲欧洲精品天堂一级| 欧美日韩极品在线观看一区| 一级做a爱片久久| 91精品国产综合久久福利软件| 五月婷婷激情综合网| 欧美岛国在线观看| 日韩二区三区在线观看| 国产偷国产偷亚洲高清人白洁| 韩国一区二区在线观看| 国产精品蜜臀av| 欧美精品久久久久久久多人混战| 怡红院av一区二区三区| 欧美成人猛片aaaaaaa| 99久久免费精品高清特色大片| 国产精品九色蝌蚪自拍| 成人av在线资源网站| 亚洲成人动漫在线免费观看| 9191成人精品久久| 国产成人免费9x9x人网站视频| 国产性色一区二区| 欧美日韩在线播放三区| 国产高清久久久| 亚洲18影院在线观看| 欧美国产精品中文字幕| 欧美久久久一区| 菠萝蜜视频在线观看一区| 午夜视频一区二区| 国产午夜精品一区二区三区四区| 懂色av噜噜一区二区三区av| 亚洲影院久久精品| 国产日韩精品视频一区| 欧美美女一区二区三区| 成人app软件下载大全免费| 免费黄网站欧美| 亚洲日韩欧美一区二区在线| 精品视频在线免费看| 国产不卡在线播放| 人妖欧美一区二区| 亚洲另类在线一区| 国产欧美日韩麻豆91| 91麻豆精品国产91久久久久久 | 一区二区免费在线播放| 久久影院电视剧免费观看| 欧美日韩国产综合一区二区| 不卡视频在线观看| 国产精品一区二区三区四区| 石原莉奈在线亚洲二区| 亚洲精品国产一区二区精华液 | 国产精品综合久久| 日韩电影在线观看一区| 国产亚洲精品超碰| 色欧美日韩亚洲| 丁香亚洲综合激情啪啪综合| 亚洲美女电影在线| 久久久久久**毛片大全| 欧美一二三在线| 欧美婷婷六月丁香综合色| 99视频一区二区| 国产成人免费视频精品含羞草妖精| 亚洲欧美日韩小说| 欧美激情综合网| 久久人人爽人人爽| 日韩欧美的一区二区| 欧美日韩国产片| 国产一区二区不卡在线| 另类的小说在线视频另类成人小视频在线| 久久久久九九视频| 亚洲精品一区二区三区蜜桃下载| 一本一本大道香蕉久在线精品 | 亚洲一区在线免费观看| 日韩毛片在线免费观看| 国产精品久久影院| 国产精品萝li| 欧美哺乳videos| 日韩欧美国产综合| 日韩精品专区在线影院观看| 7777精品伊人久久久大香线蕉完整版| 成人精品免费网站| 国产成人超碰人人澡人人澡| 国产在线一区观看| 国产一区二区三区不卡在线观看| 一区二区欧美视频| 亚洲午夜精品网| 久久精品一区二区三区不卡 | 极品少妇xxxx精品少妇偷拍| 免费看欧美女人艹b| 久久精品国产一区二区三区免费看| 亚洲免费观看视频| 伊人婷婷欧美激情| 国产欧美视频在线观看| 国产欧美一区二区在线| 国产日韩高清在线| 国产精品久久久久9999吃药| 亚洲欧洲日韩综合一区二区| 国产精品久久久久久久久久免费看| 欧美一级二级在线观看| 欧美成人精品福利| 国产三级精品视频| 国产精品护士白丝一区av| 亚洲精品日日夜夜| 五月天亚洲精品| 精品在线免费观看| 国产99精品视频| 99精品视频在线播放观看| 国产精品一区二区x88av| 国产盗摄视频一区二区三区| 蜜桃av一区二区三区| 久久99国产精品尤物| 丁香另类激情小说| 在线免费观看成人短视频| 69堂精品视频| 国产日产亚洲精品系列| 欧美精品一区二区在线观看| 国产女同性恋一区二区| 亚洲精品在线一区二区| 国产精品视频观看| 亚洲免费看黄网站| 欧美a级一区二区| 丰满亚洲少妇av| 日本韩国精品在线| 日本高清视频一区二区| 日韩一区二区三区四区| 欧美一区三区四区| 国产精品私房写真福利视频| 亚洲成人www|