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


Groups > comp.lang.c > #13394

Re: A portable stack in C

From Kaz Kylheku <kaz@kylheku.com>
Newsgroups comp.lang.c
Subject Re: A portable stack in C
Date 2011-11-15 16:27 +0000
Organization A noiseless patient Spider
Message-ID <20111115081750.842@kylheku.com> (permalink)
References <4ec14700$0$1387$4fafbaef@reader2.news.tin.it>

Show all headers | View raw


On 2011-11-14, io_x <a@b.c.invalid> wrote:
> in the while the train go always more far from home
> i think to these questions:
> is it possible to build a portable stack in C using uns32_t?
> is it possible to define in C a pointer of size 32 bits portable
> as uns32_t? could it be "uns32_t"?

Maybe you are thinking about

  typedef uint32_t *p_uint32_t;


> is it possible using that stack for call of function as
> f(a, b)  <=> push32 b|push32 a| call32 f

In general, no.

It is possible to develop a portable library for constructing C function calls
at run time. (Just not portable in the sense that it easily compiles for
new machines, but portable in the sense that someone who knows what he or she
is doing can put in some work to get it going in a given environment.)

Look for Bruno Haible's "ffcall" collection of libraries:

http://www.haible.de/bruno/packages-ffcall-README.html

> 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.

The above "ffcall" libraries include assembly language code for various target
machines.

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