From: David Brown <cla@davidb.org>
Subject: Re: Ada's Slide To Oblivion ...
Date: Thu, 07 Feb 2002 21:36:59 GMT
Date: 2002-02-07T21:36:59+00:00 [thread overview]
Message-ID: <%rC88.3860$oC3.2148048@typhoon.san.rr.com> (raw)
In-Reply-To: 3C62D397.8040001@mail.com
Hyman Rosen <hyrosen@mail.com> wrote:
> Ray Blaak wrote:
>> You most certainly can:
>> typedef void (*FUNC)();
>> int i = 0;
>> FUNC f = (FUNC) &i;
>>
>> That this crashes with access violations on a sane OS is a good thing, but
>> nothing in the language is preventing the code/data conversions.
>
> False. The typecast '(FUNC)&i' is not legal standard C or C++.
> It's not even a case of undefined results - it's just illegal.
> Some compilers permit it as an extension, though.
Legality aside, I have yet to find a compiler that doesn't accept this.
In fact, I have code that does this very thing, it creates a small
amount of data that happens to be instructions, casts it to a function
pointer and calls it.
There are a certain set of problems that would require hand-crafted
assembly to implement if this were not allowed. These constructs are
usually (hopefully) only done in OS implementations, and runtime
libraries for languages.
Dave Brown
next prev parent reply other threads:[~2002-02-07 21:36 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-01-30 23:09 Ada's Slide To Oblivion Volkert
2002-01-30 23:57 ` Marin David Condic
2002-01-31 3:04 ` Richard Riehle
2002-01-31 3:05 ` Eric Merritt
2002-01-31 16:26 ` Richard Riehle
2002-01-31 16:41 ` Larry Kilgallen
2002-02-02 15:51 ` Zach Swanson
2002-02-02 19:18 ` Richard Riehle
2002-02-04 4:43 ` Richard Riehle
2002-01-31 14:37 ` Marin David Condic
2002-01-31 15:14 ` Ted Dennison
2002-01-31 17:16 ` Marin David Condic
2002-01-31 18:32 ` Steve O'Neill
2002-01-31 18:27 ` Warren W. Gay VE3WWG
2002-01-31 19:22 ` Marin David Condic
2002-01-31 20:40 ` Christopher A. Bohn
2002-01-31 21:08 ` Marin David Condic
2002-02-01 14:22 ` [off-topic - to lighten the air] Wes Groleau
2002-02-01 2:31 ` Ada's Slide To Oblivion Richard Riehle
2002-02-04 16:51 ` Jerry Petrey
2002-02-04 17:49 ` Richard Riehle
2002-02-04 18:24 ` Marin David Condic
2002-02-05 9:04 ` DPH
2002-02-05 14:46 ` Marin David Condic
2002-02-05 16:37 ` Wes Groleau
2002-02-05 17:22 ` Marin David Condic
2002-02-05 18:42 ` Preben Randhol
2002-02-06 21:37 ` Warren W. Gay VE3WWG
2002-02-07 11:30 ` Georg Bauhaus
2002-02-05 13:48 ` Georg Bauhaus
2002-02-06 7:07 ` Anders Wirzenius
2002-02-01 2:26 ` Richard Riehle
2002-02-01 14:27 ` A. Nonny Mouse
2002-02-01 17:18 ` Dale Pontius
2002-02-06 2:37 ` Nick Roberts
2002-02-06 7:31 ` Ole-Hjalmar Kristensen
2002-02-06 21:27 ` Nick Roberts
2002-02-06 22:03 ` Ian S. Nelson
2002-02-07 1:44 ` Philip Cummins
2002-02-07 13:56 ` Ian Wild
2002-02-07 17:25 ` Ray Blaak
2002-02-07 19:20 ` Hyman Rosen
2002-02-07 21:36 ` David Brown [this message]
2002-02-08 10:36 ` Ian Wild
2002-02-08 12:23 ` Ole-Hjalmar Kristensen
2002-02-08 12:51 ` Ian Wild
2002-02-08 14:28 ` Marin David Condic
2002-02-08 15:52 ` Ole-Hjalmar Kristensen
2002-02-08 13:08 ` Nick Roberts
2002-02-08 21:28 ` Matthew Woodcraft
2002-02-08 21:45 ` Nick Roberts
2002-02-08 22:44 ` Darren New
2002-02-09 0:39 ` David Brown
2002-02-18 3:54 ` David Thompson
2002-02-06 14:59 ` Ian S. Nelson
2002-01-31 18:28 ` Warren W. Gay VE3WWG
2002-01-31 2:37 ` Jim Rogers
2002-01-31 15:02 ` Marin David Condic
2002-01-31 18:28 ` Steve O'Neill
2002-01-31 19:41 ` Larry Kilgallen
2002-01-31 19:53 ` martin.m.dowie
2002-01-31 20:06 ` Marin David Condic
2002-01-31 21:06 ` Steve O'Neill
2002-01-31 22:28 ` Marin David Condic
2002-01-31 19:42 ` Marin David Condic
2002-01-31 18:41 ` Warren W. Gay VE3WWG
2002-01-31 19:52 ` Marin David Condic
2002-02-01 18:31 ` Warren W. Gay VE3WWG
2002-02-01 12:28 ` David Gillon
2002-02-01 21:02 ` Marin David Condic
2002-02-02 4:05 ` Adrian Hoe
2002-02-02 12:51 ` Jeffrey Creem
2002-02-04 15:58 ` Marin David Condic
2002-02-02 4:02 ` Adrian Hoe
2002-02-02 17:35 ` tmoran
2002-02-01 1:42 ` Randy Brukardt
2002-02-01 16:56 ` Nick Roberts
-- strict thread matches above, loose matches on Subject: below --
2002-02-06 7:02 Christoph Grein
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox