Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: lalloc() -- local stack allocation |
| Date | 2015-09-12 13:02 +1200 |
| Message-ID | <d5hbsbFcgmvU2@mid.individual.net> (permalink) |
| References | (8 earlier) <76ff4057-df01-4262-a2b7-2f70b44ba60f@googlegroups.com> <msqelq$jn8$1@speranza.aioe.org> <056ee69d-70f7-407a-bbb5-d0c769ca6f4f@googlegroups.com> <msqph5$63o$1@speranza.aioe.org> <81921284-17d1-450c-82f0-7bf86ad7953d@googlegroups.com> |
Rick C. Hodgin wrote:
>
> In my proposed lalloc() model, even though ptr is no longer accessible
> and is out of scope, those 256 bytes would still be consumed on the
> stack. In such a case as above it would be wasted memory. But, it
> also presents the opportunity for something like this, which could
> allow reuse once allocated:
>
> int main(int argc, char* argv[])
> {
> char* mirror;
>
> if (argc == 2)
> {
> char* ptr = lalloc(256);
> // Process ptr in some way
> mirror = ptr;
> }
> // When you get here, ptr is out of scope, but mirror
> // points to ptr's allocated data, which still exists
> // on the stack, and won't be released until main() exits.
> }
This all looks like a lot of work to implement a poor man's RAII.
I've suggested this before and I'm sure this won't be the last time: why
don't you just use C++? It already has or can emulate most of what you
are looking to do.
--
Ian Collins
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-07-12 02:23 -0700
Re: lalloc() -- local stack allocation Johannes Bauer <dfnsonfsduifb@gmx.de> - 2015-07-12 11:48 +0200
Re: lalloc() -- local stack allocation Johannes Bauer <dfnsonfsduifb@gmx.de> - 2015-07-12 11:48 +0200
Re: lalloc() -- local stack allocation Philipp Klaus Krause <pkk@spth.de> - 2015-07-12 13:33 +0200
Re: lalloc() -- local stack allocation Robert Wessel <robertwessel2@yahoo.com> - 2015-07-12 06:54 -0500
Re: lalloc() -- local stack allocation Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-12 06:17 -0700
Re: lalloc() -- local stack allocation Johannes Bauer <dfnsonfsduifb@gmx.de> - 2015-07-12 16:47 +0200
Re: lalloc() -- local stack allocation Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-07-12 11:12 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-08 11:53 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-08 12:16 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-08 15:46 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-08 16:12 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-09 06:53 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 16:06 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-09 16:17 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 16:26 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-09 19:22 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 19:55 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-09 20:46 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-09 20:50 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-11 23:59 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 06:22 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 21:10 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-10 07:08 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-10 08:17 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-10 08:54 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-10 09:19 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-10 16:55 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-10 18:41 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-11 09:04 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 10:17 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-11 11:34 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 11:47 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-11 13:44 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 17:52 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-11 11:37 -0700
Re: lalloc() -- local stack allocation Richard Damon <Richard@Damon-Family.org> - 2015-09-10 08:24 -0400
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-10 05:55 -0700
RDC (Was: lalloc() -- local stack allocation) gazelle@shell.xmission.com (Kenny McCormack) - 2015-09-10 13:01 +0000
Re: lalloc() -- local stack allocation Richard Damon <Richard@Damon-Family.org> - 2015-09-11 00:29 -0400
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 05:37 -0700
Re: lalloc() -- local stack allocation Richard Damon <Richard@Damon-Family.org> - 2015-09-11 22:48 -0400
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 20:05 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 20:22 -0700
Re: lalloc() -- local stack allocation Melzzzzz <mel@zzzzz.com> - 2015-09-12 11:57 +0200
Re: lalloc() -- local stack allocation fir <profesor.fir@gmail.com> - 2015-09-12 04:34 -0700
Re: lalloc() -- local stack allocation fir <profesor.fir@gmail.com> - 2015-09-12 07:28 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 05:44 -0700
Re: lalloc() -- local stack allocation Ian Collins <ian-news@hotmail.com> - 2015-09-12 13:02 +1200
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 18:25 -0700
Re: lalloc() -- local stack allocation Ian Collins <ian-news@hotmail.com> - 2015-09-12 13:42 +1200
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 19:11 -0700
Re: lalloc() -- local stack allocation Melzzzzz <mel@zzzzz.com> - 2015-09-12 04:27 +0200
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 19:44 -0700
Re: lalloc() -- local stack allocation James Kuyper <jameskuyper@verizon.net> - 2015-09-11 23:01 -0400
Re: lalloc() -- local stack allocation Richard Heathfield <rjh@cpax.org.uk> - 2015-09-12 11:12 +0100
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 05:55 -0700
Re: lalloc() -- local stack allocation Richard Heathfield <rjh@cpax.org.uk> - 2015-09-12 14:16 +0100
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 06:24 -0700
Re: lalloc() -- local stack allocation Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-09-12 10:57 -0700
Re: lalloc() -- local stack allocation fir <profesor.fir@gmail.com> - 2015-09-12 11:13 -0700
Re: lalloc() -- local stack allocation Gareth Owen <gwowen@gmail.com> - 2015-09-12 19:31 +0100
Re: lalloc() -- local stack allocation gazelle@shell.xmission.com (Kenny McCormack) - 2015-09-12 19:20 +0000
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 12:06 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-12 14:24 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 19:22 -0700
Re: lalloc() -- local stack allocation Ian Collins <ian-news@hotmail.com> - 2015-09-12 14:54 +1200
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-11 20:18 -0700
Re: lalloc() -- local stack allocation Ian Collins <ian-news@hotmail.com> - 2015-09-12 16:20 +1200
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-12 05:43 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-12 14:02 -0700
Re: lalloc() -- local stack allocation Melzzzzz <mel@zzzzz.com> - 2015-09-12 04:25 +0200
Re: lalloc() -- local stack allocation Bartc <bc@freeuk.com> - 2015-09-12 10:32 +0100
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-09 16:23 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 16:38 -0700
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-09 17:01 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 17:08 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-09-09 17:37 -0700
Re: lalloc() -- local stack allocation "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2015-09-09 18:06 -0700
Re: lalloc() -- local stack allocation Bartc <bc@freeuk.com> - 2015-09-10 10:54 +0100
Re: lalloc() -- local stack allocation supercat@casperkitty.com - 2015-09-09 16:24 -0700
Re: lalloc() -- local stack allocation Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-09-08 20:32 +0100
Re: lalloc() -- local stack allocation jadill33@gmail.com - 2015-09-08 13:25 -0700
Re: lalloc() -- local stack allocation "Chris M. Thomasson" <nospam@nospam.nospam> - 2015-07-12 10:17 -0700
Re: lalloc() -- local stack allocation gordonb.zziiu@burditt.org (Gordon Burditt) - 2015-07-27 22:41 -0500
Re: lalloc() -- local stack allocation Keith Thompson <kst-u@mib.org> - 2015-07-28 08:35 -0700
csiph-web