91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.63MB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2023-10-26
  • 語言: 其他
  • 標簽: make??gnu??tool??gcc??

資源簡介

GNU MAKE程序的源碼。來自GNU官方網站,編譯需要make和gcc、

資源截圖

代碼片段和文件信息

/*?alloca.c?--?allocate?automatically?reclaimed?memory
???(Mostly)?portable?public-domain?implementation?--?D?A?Gwyn

???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.
???J.Otto?Tennant??contributed?the?Cray?support.

???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.??*/

#ifdef?HAVE_CONFIG_H
#include?
#endif

#ifdef?HAVE_STRING_H
#include?
#endif
#ifdef?HAVE_STDLIB_H
#include?
#endif

#ifdef?emacs
#include?“blockinput.h“
#endif

/*?If?compiling?with?GCC?2?this?file‘s?not?needed.??*/
#if?!defined?(__GNUC__)?||?__GNUC__?
/*?If?someone?has?defined?alloca?as?a?macro
???there?must?be?some?other?way?alloca?is?supposed?to?work.??*/
#ifndef?alloca

#ifdef?emacs
#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?*/

/*?If?your?stack?is?a?linked?list?of?frames?you?have?to
???provide?an?“address?metric“?ADDRESS_FUNCTION?macro.??*/

#if?defined?(CRAY)?&&?defined?(CRAY_STACKSEG_END)
long?i00afunc?();
#define?ADDRESS_FUNCTION(arg)?(char?*)?i00afunc?(&(arg))
#else
#define?ADDRESS_FUNCTION(arg)?&(arg)
#endif

#if?__STDC__
typedef?void?*pointer;
#else
typedef?char?*pointer;
#endif

#ifndef?NULL
#define NULL 0
#endif

/*?Different?portions?of?Emacs?need?to?call?different?versions?of
???malloc.??The?Emacs?executable?needs?alloca?to?call?xmalloc?because
???ordinary?malloc?isn‘t?protected?from?input?signals.??On?the?other
???hand?the?utilities?in?lib-src?need?alloca?to?call?malloc;?some?of
???them?are?very?simple?and?don‘t?have?an?xmalloc?routine.

???Non-Emacs?programs?expect?this?to?call?use?xmalloc.

???Callers?below?should?use?malloc.??*/

#ifndef?emacs
#define?malloc?xmalloc
#endif
extern?pointer?malloc?();

/*?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??grows?toward?lower?addresses
???STACK_

評論

共有 條評論