je_clenem()?

Petr Novotny Petr.Novotny na antek.cz
Pátek Únor 25 10:02:40 CET 2000


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 25 Feb 00, at 9:03, David Zabensky wrote:

> Proste seznam paramentru je ukoncen NULL a porovnava se 1. za "typ" s
> ostatnimi. Problem je vsak v tom, ze makro va_start zrejme potrebuje
> argument funkce.

Viz "man va_start": [vynatek]

> COMPATIBILITY
>        These macros are not compatible with the  historic  macros they
>         replace.  A backward compatible version can be found in the
>        include file varargs.h.

Existuji dve podoby va_arg maker. Jedna je ta "soucasna", 
"modernejsi", ANSI C (#include <stdarg.h>), kde va_start bere 
parametr navic (a funkce tedy musi mit aspon jeden parametr pred 
tremi teckami).

Druha je historicka, Kernigham-Ritchie like (#include <varargs.h>) 
(tusim tez System V - kompatibilni), kde va_start nema dalsi 
parametr (a funkce by mela mit jen tri tecky jako parametr).


A ted prave prijde ta roztomila cast: Pokud pisete neco 
prenositelneho, musite pocitat s tim, ze jedno ci druhe neni. Jsou v 
jadru dva pristupy: Bud mate sam spoustu #ifdef LINUX ... #else 
#ifdef DIGITAL ... atd., nebo pouzijete autobloat (pardon, autoconf) 
a nechate tu spinavou praci na nekom jinem. (Pravda, potom ale je 
Makefile vystupem ./configure, a zmena nejake drobnosti znamena 
kompletni rebuild vseho.)


Prijemnou zabavu.

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.0.2 -- QDPGP 2.60 
Comment: http://community.wow.net/grt/qdpgp.html

iQA/AwUBOLY3IFMwP8g7qbw/EQKsNQCgxSh7LR0LPuD76Y5nybId4HgMzSoAn0qM
1i33YHzlFherUVOzEpTT7fLm
=lW8g
-----END PGP SIGNATURE-----
--
Petr Novotny, ANTEK CS
Petr.Novotny na antek.cz
http://www.antek.cz
PGP key ID: 0x3BA9BC3F
-- Don't you know there ain't no devil there's just God when he's drunk.
                                                             [Tom Waits]


Další informace o konferenci Linux