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

rukovalac memorijom - manji problem

[es] :: C/C++ programiranje :: rukovalac memorijom - manji problem

[ Pregleda: 3468 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

doomed
NS/PO

Član broj: 736
Poruke: 180
*.ptt.yu



Profil

icon rukovalac memorijom - manji problem18.01.2002. u 13:23 - pre 271 meseci
Elem opis zadatka: Imamo u memoriji 5 buffer-a ( recimo 5x char buff[80]). Pravimo multithreading aplikaciju sa 8 niti gde svaka nit treba da zauzme jedan buffer upise neki sadrzaj i to se ispise na ekran. Onda se nit uspava neko vreme i vrati buffer.Ako nit ne uspe da dobije buffer onda ispise prazan red na ekranu. Sve u svemu neka vrsta memory menager-a.
Problem je u tome sto funkcije za zauzimanje/vracanje buffer-a treba da imaju oblik:
char* GetBuff( void )
void RetBuff( char* )
E sada GetBuff mozda i nije problem. Napravim strukturu sa dva polja : sam buffer( ili njegova adresa ) i jedno statusno polje ( buffer je zauzet/slobodan ). Ali kako sa RetBuff? Posto f-ja prima samo jedan argument - da li je resenje da poredim adrese zeljenog buffer-a i svih u strukturi pa koja se poklapa taj treba vratiti tj. tu treba promeniti statusno polje? Ima li neko drugu ideju?
Ako treba onda nema potrebe
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: rukovalac memorijom - manji problem18.01.2002. u 16:05 - pre 271 meseci
Pre nego što se bacimo na razmatranje, molim te da razjasniš:

1. Da li koristiš C ili C++ ?
2. Koji OS koristiš?
 
Odgovor na temu

doomed
NS/PO

Član broj: 736
Poruke: 180
*.ptt.yu



Profil

icon Re: rukovalac memorijom - manji problem18.01.2002. u 23:02 - pre 271 meseci
Citat:
Dragi Tata:
Pre nego što se bacimo na razmatranje, molim te da razjasniš:

1. Da li koristiš C ili C++ ?
2. Koji OS koristiš?


koristim MSVS6. tj. c++. i win98. nije to neka velika filozofija samo me interesuje da li neko ima drugaciju ideju. Ova moja je nekako "sirova". Nije to neki megalomanski program ali bi bilo lepo cuti razlicite ideje
Ako treba onda nema potrebe
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: rukovalac memorijom - manji problem18.01.2002. u 23:11 - pre 271 meseci
Pa, ako funkcije već moraju da imaju takav oblik, ne znam šta ti drugo preostaje. Pazi jedino da obezbediš bafere i statusna polja nekakvim "lock"-ovima (verovatno Critical sections) da ne bi bilo belaja.


 
Odgovor na temu

doomed
NS/PO

Član broj: 736
Poruke: 180
*.ptt.yu



Profil

icon Re: rukovalac memorijom - manji problem19.01.2002. u 00:03 - pre 271 meseci
Citat:
Dragi Tata:
Pa, ako funkcije već moraju da imaju takav oblik, ne znam šta ti drugo preostaje. Pazi jedino da obezbediš bafere i statusna polja nekakvim "lock"-ovima (verovatno Critical sections) da ne bi bilo belaja.



to naravno mora da ide u kriticne sekcije i jos par semafora zbog nekih sitnica

Ako treba onda nema potrebe
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: rukovalac memorijom - manji problem19.01.2002. u 01:03 - pre 271 meseci
Nego, ima tu još jedna kvaka:

Šta ako korisnik tvog "menadžera" uradi nešto ovako?

Code:

char* buf = GetBuff();
buf++;
RetBuff(buf);


Možda nije loša ideja da umesto char* vratiš char *const, mada ne znam ni sam.
Uostalom, C-ov manager ne vodi računa o ovakvim situacijama, pa možda ne treba ni ti to da radiš.
 
Odgovor na temu

[es] :: C/C++ programiranje :: rukovalac memorijom - manji problem

[ Pregleda: 3468 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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