Debian production

Martin `MJ' Mares mj na ucw.cz
Čtvrtek Červenec 15 21:55:42 CEST 2004


Hello, world!\n

> Leccos jsem na toto tema procetl, ale nenasel jsem jasnou odpoved: Musim
> se u programu v C zajimat o _LARGEFILE64_SOURCE a jemu podobne pri
> kompilaci v pripade, ze ke vsem souboru pristupu pouze sekvencne? Tedy
> pouzivam toliko open, read, write, close, fopen, fread, fwrite,
> fclose..., nezajimam se tudiz o pozici v souboru a nechci ji nastavovat?

I tehdy to je zapotrebi.

Jelikoz kernel dopredu nevi, jake operace budete se souborem provadet
a jestli po tom sekvencnim cteni neprijde treba seek(), kterym byste
chtel zjistit aktualni pozici v souboru, nezbyva mu, nez soubor uz
na samem zacatku odmitnout otevrit.

Letmy pohled pod poklicku: _LARGEFILE64_SOURCE apod. ovlivnuje mimo
toho, zda se pouzije 64-bitova verze nekterych syscallu, hlavne predani
flagu O_LARGEFILE pri open().

Ciste teoreticky by tedy stacilo, pokud Vam staci sekvencni pristup,
O_LARGEFILE pridat rucne a o nic vic se nestarat (tak se to konec koncu
v pravekych casech, kdy kernel large files umel a libc jeste ne, delalo)
-- na druhou stranu nadefinovat ten jeden symbol je asi stejne pracne
a daleko portabilnejsi.

					Preji pekny den
-- 
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
Never make any mistaeks.


Další informace o konferenci Linux