Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoć MSVC->gcc

[es] :: C/C++ programiranje :: pomoć MSVC->gcc

[ Pregleda: 3030 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Cybernoid II

Član broj: 14852
Poruke: 528

Sajt: www.youtube.com/watch?v=7..


+1 Profil

icon pomoć MSVC->gcc08.11.2003. u 12:25 - pre 249 meseci
treba mi ekvivalent sledećih nestandardnih MSVC funkcija pod UNIX-om

extern void _sleep( unsigned long msecs); // suspends thread for time given in miliseconds
extern long _filelength( int handle ); // returns file length
extern int _chsize( int handle, long size ); // changes file length
extern long GetModuleFileName(void* hModule, char* lpFilename, long nSize); // returns full path to active process executable
extern void _ftime( struct _timeb *timeptr ); // returns time in milisecond accuracy

neka (POSIX ?) dokumentacija kako može da se to izvede ili ako ima gotove funkcije
#!/usr/bin/basho
mv frog ancient_pond
echo "Splash!"
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: pomoć MSVC->gcc08.11.2003. u 15:43 - pre 249 meseci
man getitimer ili man gettimeofday (moze i man 2 ftime ali to je zastarelo ) za tako fino cackanje oko tajmera. sto se onog _sleep-a tice njega mozes da uradis i preko man 2 select .

oko filelenghta
man 2 stat

za njegovo povecavanje kako da kazem nema mnogo smisla, ali ono sto je recimo na unixima moguce jeste praviti rupe u fajlovima, znaci upisem nesto na mesto prvog bajta i napravim lseek za jedno gigabajt podataka i upisem drugi bajt na kraj i zavrsim sa programom. duzina fajla ce biti ako pogledas sa ls ili stat 1 gb. ali ako budes gledao koliko je blokova zauzeo fajl videces 2-3 bloka. i to je to :)) na tu foru je moguce napraviti tonu fajlova velikih duzina a malog zauzeca.

i na kraju za direktorijum
man 3 getcwd

[Ovu poruku je menjao Dejan Lozanovic dana 09.11.2003. u 18:43 GMT]
 
Odgovor na temu

Cybernoid II

Član broj: 14852
Poruke: 528

Sajt: www.youtube.com/watch?v=7..


+1 Profil

icon Re: pomoć MSVC->gcc08.11.2003. u 17:08 - pre 249 meseci
Citat:
Dejan Lozanovic:
za njegovo povecavanje kako da kazem nema mnogo smisla, ali ono sto je recimo na unixima moguce jeste praviti rupe u fajlovima, znaci upisem nesto na mesto prvog bajta i napravim lseek za jedno gigabajt podataka i upisem drugi bajt na kraj i zavrsim sa programom. duzina fajla ce biti ako pogledas sa ls ili stat 1 gb. ali ako budes gledao koliko je blokova zauzeo fajl videces 2-3 bloka. i to je to :)) na tu foru je moguce napraviti tonu fajlova velikih duzina a malog zauzeca.


Ok hvala na pomoći.
Meni u stvari treba sa smanjim fajl. Treba da unapred rezervišem prostor kolika je max veličina i posle treba da oslobidim višak. Ne znam da li OS to radi automatski kad overwrituje fajl ili kreira novi fajl i relinkuje strukturu direktorijuma.

#!/usr/bin/basho
mv frog ancient_pond
echo "Splash!"
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: pomoć MSVC->gcc09.11.2003. u 17:00 - pre 249 meseci
Pa nisam bas najbolje razumeo ceo zahvat, zasto bi alocirao nesto na pocetku ako ti ne treba a posle se oslobadjao tih visaka? Hmm a zar nije jednostavnije recimo da pises u fajl i da recimo proveris da li si sa upisom kod maksimalne duzine. I na kraju u svakom slucaju dobijas taj fajlsa minimalnom duzinom.

U svakom slucaju moze i ono "seljacko" resenje imas fajl a.txt koji trebas da skratis sa sistemskim pozivom open otvoris novi fajl sa istim imenom i stavis medju opcijama da overwritujes predhodni sadrzaj. E sada ukoliko si ostavio na predhodnom fajldeskriptoru otvoren fajl nemas brige. Jer stari fajl i dalje postoji samo ga ti vise ne vidis iz shella ili programa ali taj fd je jedina veza sa njim. i onda ceo sadrzaj prekopiras kako ti treba u novi fajl i to je to.

A sada malo ispod haube da pogledamo fajl je fizicki obrisan ako broj linkova na njegov inode(blok gde je to fizicki zapisano na disku) padne na nulu. broj linkova na fajl vidis kada odkucas ls -l ( to je druga kolona). E sada sa svakim open sistemskim pozivom ti povecavas broj linkova za jedan a sa close ga smanjujes za jedan. I tako realno kada zatvoris neki fajl mozes da izazoves njegovo brisanje. Probaj recimo da se igras sa nekim malo duzim fajlom prvo proveri sa df slobodno mesto na disku, pa onda sa less recimo otvori fajl. pa u drugom prozoru obrisi taj fajl i pogledaj df videces da se nista nije promenilo. u prvom shellu i dalje sa less gledas normalno fajl. i tek kada izadjes iz less-a sa df ces videti promenu :)


Ma unix vlada :)))
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: pomoć MSVC->gcc09.11.2003. u 17:01 - pre 249 meseci
e vidis pade mi napamet da negde upises recimo EOF, ne znam da li bi to skratilo duzinu fajla, nisam siguran morao bih da probam a sada me iskreno receno mrzi tako da cu ti to ostaviti kao domaci zadatak :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: pomoć MSVC->gcc

[ Pregleda: 3030 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.