Re: defrag ?

Autor: Wojciech Gazda (gazda_at_fema.krakow.pl)
Data: Mon 23 Jul 2001 - 21:21:45 MET DST


Rafal Szymczak napisał(a):
>
> > mozliwe ze to byl problem implementacji jezyka ktorego uzywales.
> > ja sprawdzilem za pomoca wbudowanego REXX. zapisywalem 8bajtowe
> > paczki, w ktorych byla zapisana jedna liczba, offset od poczatku
> > pliku. czytalem liniowo, bylo ok. na wyrywki, ok. stwierdzilem
> > ze HPFS przynajmniej do ok. 3GB (podejrzewam ze do 4GB)
> > ograniczenia nie ma. a konkretne jezyki/kompilatory moga miec
> > ograniczenia, bo operuja na 4rech bajtach ze znakiem.
>
> Nic podobnego. Program byl napisany w C i tylko zapisywal, nic nie
> czytal. Przy okolo 2 GB pliku zaczalem dostawac bledy przy zapisie do
> pliku. Ponizej jest fragment programu kompilowany VAC-kiem. Choc czasem
> sie zdarzalo, ze plik utworzony przekraczal nieznacznie granice 2 GB, to
> nigdy nie wyszedl poza nia o wiecej niz pare MB.
>
> fpout = fopen( szOutputFile, "a" );
>
> [ciach]
>
> case AE_NETLOGOFF:
> pNetLogoff = ( struct ae_netlogoff * ) ( ( PCHAR )
> pEntry + pEntry->ae_data_offset );
> if ( !pNetLogoff->ae_nf_username )
> pNetLogoff->ae_nf_username =
> pNetLogoff->ae_nf_compname;
> fprintf( fpout, "%-15.15s %s ", szServer, ExtrTimeStamp(
> &pEntry->ae_time ) );
> fprintf( fpout, "%-15.15s %-20.20s",
> ( PSZ ) pNetLogoff +
> pNetLogoff->ae_nf_compname,
> CleanString( ( PSZ ) pNetLogoff +
> pNetLogoff->ae_nf_username ) );
> iRC = fprintf( fpout, " %s\n", szTimeStamp ); <=== ***
> tu sie wywalal ***
> if ( iRC <= 0 )
> {
> sprintf( szMsgBuf, "%s Failed to write to the output
> file. rc = %d", szServer, iRC );
> printf( "\n\n%s\n\n\a", szMsgBuf );
> WriteError( szMsgBuf );
> fclose( fpout );
> fclose( fperr );
> exit( 5 );
> }
> break;
>

Ciekawe jak zadzialaloby to przy bezposrednim uzyciu funkcji systemowych
- tam wszedzie sa wartosci 32bit bez znaku (z wyjatkiem DosSetFilePtr).
Tu jest wszystko opakowane bibliotekami C, one moga wewnetrznie uzywac
signed long.

Niestety, chwilowo nie mam odpowiednio duzej partycji...

-- 
Wojciech Gazda
/*******************************************************/
/* Home page        - http://www.fema.krakow.pl/~gazda */
/* Asua programmers - http://www.asua.org.pl           */
/*******************************************************/


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:33:06 MET DST