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