Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #13425

Re: A portable stack in C

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: A portable stack in C
Date 2011-11-15 13:19 -0800
Organization None to speak of
Message-ID <lnwrb113tr.fsf@nuthaus.mib.org> (permalink)
References <4ec14700$0$1387$4fafbaef@reader2.news.tin.it> <20111115081750.842@kylheku.com>

Show all headers | View raw


Kaz Kylheku <kaz@kylheku.com> writes:
> On 2011-11-14, io_x <a@b.c.invalid> wrote:
[...]
>> i remember someone says that for calling function
>> it has to be a stack: i'm agree with him
>
> I do not. On many architectures, arguments are passed in registers.  If there
> are many arguments, then some combination of stack and registers is used.
> In general, preparing the machine for a call to a routine requires assembly
> language programming.

As has been discussed at great length here, there has to be a "stack"
in the sense of some kind of last-in first-out data structure to
support recursive function calls.  (In the absence of recursion, each
function could just maintain its own static data area.)  But this
structure, though it's *typically* implemented as a contiguous region
of memory that grows in some particular direction, may be implemented
in other ways.  See Thomas David Rivers's post in this thread.

The fact that people use the word "stack" on both senses has caused a
great deal of confusion.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-14 17:54 +0100
  Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-14 20:55 -0800
    Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 09:22 +0100
      Re: A portable stack in C Ike Naar <ike@iceland.freeshell.org> - 2011-11-15 09:00 +0000
        Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 11:26 +0100
      Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 10:05 +0000
        Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 11:25 +0100
          Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 11:08 +0000
          Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 11:45 +0000
            Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 12:57 +0100
              Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 12:39 +0000
                Re: A portable stack in C jacob navia <jacob@spamsink.net> - 2011-11-15 14:26 +0100
                Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 15:31 +0000
                Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 12:53 -0800
                Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 21:15 +0000
                Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 14:29 -0800
                Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 22:59 +0000
                Re: A portable stack in C James Kuyper <jameskuyper@verizon.net> - 2011-11-15 17:30 -0500
                Re: A portable stack in C Willem <willem@toad.stack.nl> - 2011-11-15 22:33 +0000
                Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 15:07 -0800
                Re: A portable stack in C Seebs <usenet-nospam@seebs.net> - 2011-11-15 22:37 +0000
                Re: A portable stack in C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2011-11-15 23:01 +0000
              Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-15 18:45 +0000
            Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 12:41 -0800
          Re: A portable stack in C Richard Damon <news.x.richarddamon@xoxy.net> - 2011-11-15 23:07 -0500
            Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 20:18 -0800
            Re: A portable stack in C Robert Wessel <robertwessel2@yahoo.com> - 2011-11-15 22:53 -0600
              Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-16 12:00 +0000
                Re: A portable stack in C falk@rahul.net (Edward A. Falk) - 2011-11-16 16:08 +0000
              Re: A portable stack in C David Thompson <dave.thompson2@verizon.net> - 2012-01-19 02:41 -0500
      Re: A portable stack in C Thomas David Rivers <rivers@dignus.com> - 2011-11-15 11:21 -0500
      Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-15 17:53 -0800
    Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:21 +0100
      Re: A portable stack in C Barry Schwarz <schwarzb@dqel.com> - 2011-11-15 17:53 -0800
        Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-18 08:13 +0100
  Re: A portable stack in C Rui Maciel <rui.maciel@gmail.com> - 2011-11-15 10:14 +0000
    Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:20 +0100
  Re: A portable stack in C Acid Washed China Blue Jeans <chine.bleu@yahoo.com> - 2011-11-15 08:13 -0800
  Re: A portable stack in C Kaz Kylheku <kaz@kylheku.com> - 2011-11-15 16:27 +0000
    Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-15 19:21 +0100
    Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-15 13:19 -0800
  Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-17 15:45 +0000
    Re: A portable stack in C John Gordon <gordon@panix.com> - 2011-11-17 15:56 +0000
    Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-17 18:02 +0100
      Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-17 17:35 +0000
        Re: A portable stack in C Vincenzo Mercuri <vincenzo.mercuri@yahoo.it> - 2011-11-17 18:45 +0100
        Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-18 00:27 -0800
          Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-18 10:40 +0100
            Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:22 +0100
            Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-21 00:38 -0800
              Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 03:44 -0600
                Re: A portable stack in C Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2011-11-21 13:00 +0200
                Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 06:07 -0600
              Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 03:50 -0600
              Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 07:48 -0600
              Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-21 20:11 +0100
          Re: A portable stack in C "BartC" <bc@freeuk.com> - 2011-11-18 12:47 +0000
          Re: A portable stack in C "Jo" <none@none.none> - 2011-11-18 23:31 -0600
      Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-18 14:45 +0000
        Re: A portable stack in C James Kuyper <jameskuyper@verizon.net> - 2011-11-18 10:14 -0500
        Re: A portable stack in C Keith Thompson <kst-u@mib.org> - 2011-11-18 12:20 -0800
          Re: A portable stack in C blmblm@myrealbox.com <blmblm.myrealbox@gmail.com> - 2011-11-19 17:23 +0000
            Re: A portable stack in C Seebs <usenet-nospam@seebs.net> - 2011-11-19 18:49 +0000
              Re: A portable stack in C "Jo" <none@none.none> - 2011-11-19 22:41 -0600
              Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:27 +0100
                Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-21 20:12 +0100
            Re: A portable stack in C "io_x" <a@b.c.invalid> - 2011-11-20 07:50 +0100
          Re: A portable stack in C "Jo" <none@none.none> - 2011-11-21 01:24 -0600
            Re: A portable stack in C Nick Keighley <nick_keighley_nospam@hotmail.com> - 2011-11-21 05:22 -0800
              Re: A portable stack in C "Jo" <none@none.none> - 2011-11-22 03:31 -0600
  Re: A portable stack in C 88888 Dihedral <dihedral88888@googlemail.com> - 2011-11-21 06:38 -0800

csiph-web