comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: A curiosity...
Date: Thu, 4 Dec 2008 14:04:28 -0800 (PST)
Date: 2008-12-04T14:04:28-08:00	[thread overview]
Message-ID: <0f009ce8-0f50-4b85-9368-0d0c68f42da1@w34g2000yqm.googlegroups.com> (raw)
In-Reply-To: ffYZk.17574$st1.15396@newsfe10.iad

On Dec 4, 10:48 pm, Hyman Rosen <hyro...@mail.com> wrote:
> Adam Beneschan wrote:
> > Ahhh, sanity at last...
>
> In fact, that "chilling" code wasn't really bad. It's just that
> pthread_create gets a void * final parameter which it passes along
> as an argument to the thread function it starts. The tutorial code
> wants to pass in a plain integer, so it casts the integer into a
> pointer so that it can pass it to pthread_create and then the thread
> routine casts it back to an integer.
>
> On any conventional architecture, casting a small integer to pointer
> and back will leave its value unchanged, and the ability to do this
> very common in C compilers and has been for decades.

Yes. In fact, C requires that pointers and integers be interchangable
so as to make address arithmetic "transparent" and extremely
dangerous. That's why, instead of writing "&th[t]" as Adam did, they
wrote "th+t" and thought themselves clever.

I'm glad I no longer program in C or C++.

--
Ludovic Brenta.



  reply	other threads:[~2008-12-04 22:04 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-04 20:47 A curiosity mockturtle
2008-12-04 21:17 ` Adam Beneschan
2008-12-04 21:48   ` Hyman Rosen
2008-12-04 22:04     ` Ludovic Brenta [this message]
2008-12-04 22:10       ` Ludovic Brenta
2008-12-04 22:24         ` Hyman Rosen
2008-12-05  8:02         ` Samuel Tardieu
2008-12-05 11:51           ` Peter C. Chapin
2008-12-05 13:09           ` Martin Krischik
2008-12-05 15:15             ` Hyman Rosen
2008-12-06 13:26             ` Peter C. Chapin
2008-12-05 16:37           ` Keith Thompson
2008-12-04 22:19       ` Hyman Rosen
2008-12-05  9:03       ` Georg Bauhaus
2008-12-04 22:30 ` Randy Brukardt
2008-12-04 22:57   ` Hyman Rosen
2008-12-05 16:42     ` Keith Thompson
2008-12-05 16:57       ` Hyman Rosen
2008-12-05 20:20         ` Keith Thompson
2008-12-05 20:59           ` Adam Beneschan
2008-12-06 22:53             ` Hyman Rosen
2008-12-06 23:15               ` Gary Scott
2008-12-08 15:39                 ` Hyman Rosen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox