C - pretypovani pointeru

Martin `MJ' Mares mj na ucw.cz
Pondělí Březen 14 12:40:00 CET 2005


Ahoj!

> Je vzdy sizeof(long) == sizeof(void *)? Pak by asi slo pouzit

Skoro vzdy :)  Napriklad kernel na to spoleha.

> int fd = (int)(long)arg; a dale
> register_callback(..., (void *)(long)fd);
> 
> Ale nevim jestli toto je korektni.

Korektni to urcite je, ovsem naprosto korektni je i Tvuj puvodni kod :-)

Osobne bych to resil vypnutim warningu (ma smysl jen tehdy, kdyz prekladas
na 64-bitovem stroji kod, o kterem nevis, jestli je 64-bit-clean),
pripadne muzes misto longu pouzit ptrint_t, pokud Ti nevadi, ze existuje
jen v C99.

					Mej se pekne
-- 
Martin `MJ' Mares   <mj na ucw.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
A: No.   Q: Should I include quotations after my reply?


Další informace o konferenci Linux