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

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

?? alloca.c

?? GNU Sed GNU Sed GNU Sed
?? C
字號:
/*
	alloca -- (mostly) portable public-domain implementation -- D A Gwyn

	last edit:	86/05/30	rms
	   include config.h, since on VMS it renames some symbols.
	   Use xmalloc instead of malloc.

	This implementation of the PWB library alloca() function,
	which is used to allocate space off the run-time stack so
	that it is automatically reclaimed upon procedure exit, 
	was inspired by discussions with J. Q. Johnson of Cornell.

	It should work under any C implementation that uses an
	actual procedure stack (as opposed to a linked list of
	frames).  There are some preprocessor constants that can
	be defined when compiling for your specific system, for
	improved efficiency; however, the defaults should be okay.

	The general concept of this implementation is to keep
	track of all alloca()-allocated blocks, and reclaim any
	that are found to be deeper in the stack than the current
	invocation.  This heuristic does not reclaim storage as
	soon as it becomes invalid, but it will do so eventually.

	As a special case, alloca(0) reclaims storage without
	allocating any.  It is a good idea to use alloca(0) in
	your main control loop, etc. to force garbage collection.
*/

/* TimF@microsoft.com:	19-MAR-92  Port to Microsoft's Windows NT (tm) */


#ifndef lint
static char	SCCSid[] = "@(#)alloca.c	1.1";	/* for the "what" utility */
#endif

#ifdef emacs
#include "config.h"
#ifdef static
/* actually, only want this if static is defined as ""
   -- this is for usg, in which emacs must undefine static
   in order to make unexec workable
   */
#ifndef STACK_DIRECTION
you
lose
-- must know STACK_DIRECTION at compile-time
#endif /* STACK_DIRECTION undefined */
#endif /* static */
#endif /* emacs */

#ifndef alloca  /* If compiling with GCC, this file's not needed.  */

#ifdef __STDC__
typedef void  *pointer;               /* generic pointer type */
#else
typedef char	*pointer;		/* generic pointer type */
#endif

#define	NULL	0			/* null pointer constant */

extern void	free();
extern pointer	xmalloc();

/*
	Define STACK_DIRECTION if you know the direction of stack
	growth for your system; otherwise it will be automatically
	deduced at run-time.

	STACK_DIRECTION > 0 => grows toward higher addresses
	STACK_DIRECTION < 0 => grows toward lower addresses
	STACK_DIRECTION = 0 => direction of growth unknown
*/

#ifndef STACK_DIRECTION
#define	STACK_DIRECTION	0		/* direction unknown */
#endif

#if STACK_DIRECTION != 0

#define	STACK_DIR	STACK_DIRECTION	/* known at compile-time */

#else	/* STACK_DIRECTION == 0; need run-time code */

static int	stack_dir;		/* 1 or -1 once known */
#define	STACK_DIR	stack_dir

static void
find_stack_direction (/* void */)
{
  static char	*addr = NULL;	/* address of first
				   `dummy', once known */
  auto char	dummy;		/* to get stack address */

  if (addr == NULL)
    {				/* initial entry */
      addr = &dummy;

      find_stack_direction ();	/* recurse once */
    }
  else				/* second entry */
    if (&dummy > addr)
      stack_dir = 1;		/* stack grew upward */
    else
      stack_dir = -1;		/* stack grew downward */
}

#endif	/* STACK_DIRECTION == 0 */

/*
	An "alloca header" is used to:
	(a) chain together all alloca()ed blocks;
	(b) keep track of stack depth.

	It is very important that sizeof(header) agree with malloc()
	alignment chunk size.  The following default should work okay.
*/

#ifndef	ALIGN_SIZE
#define	ALIGN_SIZE	sizeof(double)
#endif

typedef union hdr
{
  char	align[ALIGN_SIZE];	/* to force sizeof(header) */
  struct
    {
      union hdr *next;		/* for chaining headers */
      char *deep;		/* for stack depth measure */
    } h;
} header;

/*
	alloca( size ) returns a pointer to at least `size' bytes of
	storage which will be automatically reclaimed upon exit from
	the procedure that called alloca().  Originally, this space
	was supposed to be taken from the current stack frame of the
	caller, but that method cannot be made to work for some
	implementations of C, for example under Gould's UTX/32.
*/

static header *last_alloca_header = NULL; /* -> last alloca header */

pointer
alloca (size)			/* returns pointer to storage */
     unsigned	size;		/* # bytes to allocate */
{
  auto char	probe;		/* probes stack depth: */
  register char	*depth = &probe;

#if STACK_DIRECTION == 0
  if (STACK_DIR == 0)		/* unknown growth direction */
    find_stack_direction ();
#endif

				/* Reclaim garbage, defined as all alloca()ed storage that
				   was allocated from deeper in the stack than currently. */

  {
    register header	*hp;	/* traverses linked list */

    for (hp = last_alloca_header; hp != NULL;)
      if (STACK_DIR > 0 && hp->h.deep > depth
	  || STACK_DIR < 0 && hp->h.deep < depth)
	{
	  register header	*np = hp->h.next;

	  free ((pointer) hp);	/* collect garbage */

	  hp = np;		/* -> next header */
	}
      else
	break;			/* rest are not deeper */

    last_alloca_header = hp;	/* -> last valid storage */
  }

  if (size == 0)
    return NULL;		/* no allocation required */

  /* Allocate combined header + user data storage. */

  {
#ifdef	WINDOWSNT
    register pointer	new = (void *)malloc (sizeof (header) + size);
#else	/* !WINDOWSNT */
    register pointer	new = xmalloc (sizeof (header) + size);
#endif	/* !WINDOWSNT */
    /* address of header */

    ((header *)new)->h.next = last_alloca_header;
    ((header *)new)->h.deep = depth;

    last_alloca_header = (header *)new;

    /* User storage begins just after header. */

    return (pointer)((char *)new + sizeof(header));
  }
}

#endif /* no alloca */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品爽啪视频| 蜜臀av亚洲一区中文字幕| 国产人伦精品一区二区| 亚洲最大成人综合| 国产精品一区二区在线看| 欧美性色欧美a在线播放| 国产欧美一区二区在线| 美女诱惑一区二区| 欧美日本在线播放| 亚洲欧美日本韩国| 国产成人av电影| 精品国产免费人成电影在线观看四季| 亚洲人一二三区| 成人毛片老司机大片| 久久亚洲影视婷婷| 免费在线一区观看| 欧美精品乱码久久久久久按摩| 中文字幕一区二区不卡| 成人一区在线观看| 五月婷婷激情综合网| 91浏览器打开| 国产精品欧美经典| 成人在线视频一区二区| 日韩欧美一区二区久久婷婷| 日韩av网站在线观看| 91麻豆精品国产无毒不卡在线观看| 亚洲精品视频在线观看免费| 91亚洲精品一区二区乱码| 最新热久久免费视频| 成人激情校园春色| 国产精品美女www爽爽爽| 国产福利不卡视频| 欧美韩日一区二区三区| 国产成人免费在线| 国产欧美日本一区二区三区| 成人av片在线观看| 亚洲图片另类小说| 欧美最猛性xxxxx直播| 午夜精品久久久久久久久| 欧美性欧美巨大黑白大战| 亚洲影视在线观看| 91精品国产高清一区二区三区| 日本亚洲三级在线| 久久欧美一区二区| 成人免费va视频| 夜夜精品浪潮av一区二区三区| 欧美精品三级日韩久久| 日本成人中文字幕在线视频| 久久综合九色综合97_久久久| 国产成人av福利| 中文字幕人成不卡一区| 在线视频你懂得一区| 轻轻草成人在线| 久久久久久久久久久久久久久99 | 石原莉奈一区二区三区在线观看| 欧美日韩一级片网站| 婷婷六月综合网| 国产亚洲成aⅴ人片在线观看| 成人avav影音| 日韩电影在线一区| 国产精品免费视频观看| 欧美综合亚洲图片综合区| 国产二区国产一区在线观看| 日韩三级.com| 99国产精品国产精品久久| 亚洲成a人片在线观看中文| 欧美成人伊人久久综合网| 成人免费视频播放| 麻豆成人91精品二区三区| 国产精品三级在线观看| 欧美精品少妇一区二区三区| 国产精品一区二区在线观看不卡| 亚洲综合一区二区| 久久综合久久综合久久综合| 欧美无乱码久久久免费午夜一区| 久久国产精品色| 亚洲一区二区欧美| 中文字幕乱码亚洲精品一区| 欧美日本一区二区三区四区| 成人教育av在线| 久久精品久久综合| 亚洲激情第一区| 国产女同性恋一区二区| 日韩一区二区精品葵司在线| 91蜜桃在线免费视频| 国产精品18久久久久久久久久久久| 亚洲国产精品一区二区www在线| 欧美精品一区二区三区高清aⅴ | 亚洲综合视频网| 国产欧美1区2区3区| 日韩三级视频中文字幕| 欧美优质美女网站| 不卡的av电影| 高清国产一区二区| 精品一区二区三区在线视频| 视频在线观看一区二区三区| 亚洲欧美日韩系列| 中文字幕欧美国产| 日本一区二区在线不卡| 日韩亚洲欧美一区二区三区| 欧美高清dvd| 欧美色综合久久| 欧美性生活一区| 欧美日韩一区二区三区视频| 一本久久a久久精品亚洲| av在线播放不卡| 99视频精品在线| 成人激情开心网| 成人激情综合网站| 不卡的av在线播放| 91视频国产资源| 在线观看成人小视频| 97久久精品人人爽人人爽蜜臀| www.亚洲免费av| a级精品国产片在线观看| av在线综合网| 色综合久久久久久久| 99久久婷婷国产综合精品电影| 成人免费观看男女羞羞视频| 国产一区二区剧情av在线| 国产乱码精品一区二区三| 国产99久久久国产精品潘金网站| 粉嫩一区二区三区在线看| 99久久伊人久久99| 91麻豆国产香蕉久久精品| 在线欧美小视频| 欧美久久久久久久久久| 日韩免费观看2025年上映的电影| 精品国产一区二区三区久久久蜜月 | 国内精品第一页| 日本一区二区不卡视频| 国产精品三级视频| 亚洲欧美另类久久久精品| 亚洲综合丝袜美腿| 麻豆精品蜜桃视频网站| 国产一区日韩二区欧美三区| 成人av网址在线观看| 日本精品视频一区二区三区| 538prom精品视频线放| 欧美成人a视频| 国产精品理伦片| 亚洲综合图片区| 国产一区二区三区香蕉| 91色porny| 日韩午夜电影av| 午夜久久电影网| 日韩一级成人av| 国产精品伦一区| 亚洲国产综合人成综合网站| 蜜桃视频在线观看一区| www.成人网.com| 欧美疯狂做受xxxx富婆| 久久久国产一区二区三区四区小说 | 91丨九色丨国产丨porny| 欧美男同性恋视频网站| 国产亚洲成年网址在线观看| 一区二区国产盗摄色噜噜| 久久精品久久99精品久久| 91免费视频观看| 亚洲精品在线观| 亚洲成在人线在线播放| 国产精品一区二区黑丝| 欧美日韩国产小视频在线观看| 久久久三级国产网站| 午夜精品一区二区三区免费视频 | 欧美一级一级性生活免费录像| 中文字幕不卡在线| 精品一区二区三区蜜桃| 欧美视频日韩视频在线观看| 国产精品美女久久久久久久| 老司机精品视频导航| 在线中文字幕一区二区| 国产欧美日韩卡一| 六月婷婷色综合| 欧美另类一区二区三区| 亚洲综合在线五月| 成人午夜在线播放| 精品福利一二区| 日韩激情av在线| 欧美视频在线一区二区三区 | 欧美日韩1区2区| 夜夜精品浪潮av一区二区三区| 不卡av电影在线播放| 国产亚洲精品福利| 久久国产婷婷国产香蕉| 欧亚洲嫩模精品一区三区| 亚洲免费av网站| 91视频.com| 亚洲欧洲日韩在线| av一区二区三区| 中文av一区二区| 成人影视亚洲图片在线| 国产精品视频线看| 成人av免费在线播放| 欧美国产日韩一二三区| 懂色av一区二区三区蜜臀| 久久女同精品一区二区| 国产毛片精品国产一区二区三区| 日韩午夜三级在线| 极品少妇xxxx精品少妇偷拍|