GNU C knihovna a makro __USE_GNU

Vaclav Blazek Vaclav.Blazek na 2s.cz
Pondělí Červenec 2 15:52:38 CEST 2001


On Mon  2. July 2001 14:28, you wrote:
> snazim se ridit dle popisu GNU C knihovny (http://dooms.org/libc.html) a
> pouzivat makro TEMP_FAILURE_RETRY, ale v unistd.h je definovano jen
> pokud je definovano __USE_GNU. Vi nekdo, jaky to ma vyznam? Krome toho,
> ze musi byt definovano __USE_GNU? Myslel jsem, ze linux pouziva GNU
> knihovny, proc tedy musim explicitne definovat __USE_GNU?
>
> S pozdravem, Libor Chocholaty

Zdravim,

TEMP_FAILURE_RETRY neni ve standardu C. Jedna se o GNU rozsireni. Pokud 
chcete psat prenositelne aplikace, ktere pujdou prelozit i na non-GNU 
systemech, nemuzete toto rozsireni pouzit (stejne jako getline apod.). Pokud 
vam nejde o prenositelnost na non-GNU systemy, muzete tato rozsireni klidne 
pouzivat.

glibc se chova jako standardni libc, pouziti rozsireni si musite vynutit 
definici makra _GNU_SOURCE *pred* inkludovanim patricnich .h souboru,
ja k tomu pouzivam option prekladace -D (tj. -D_GNU_SOURCE). 
Viz manual glibc, v sekce "Feature Test Macros". __USE_GNU bych nepouzival, 
dle dvou _ lze usuzovat, ze jde o interni makro.

BTW: Manual, ke kteremu pristupujete pres web mate k dispozici na svem 
pocitaci v podobe info dokumentu, staci z terminalu spustit "info libc" nebo 
v emacsu zmacknout "C-h i" a vybrat polozku "libc".

Vasek

-- 
Václav Blažek		Solution s.r.o.
Programátor		Na Křivině 1
GSM: 0723 619985	Praha 4
ICQ: 108881744


Další informace o konferenci Linux