[so] Parametrii gresiti

2020-03-09 Thread Mihai Sp via so
Buna ziua,
Imi este neclar ce trebuie sa se intample cu so-cpp cand programul da de 
parametrii gresiti. Am incercat sa il inchid cu return sau exit cu diferite 
coduri de eroare, dar testele vad ca inca pica.
Multumesc anticipat,Spataru Mihai
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][General] Folosire macro DIE

2020-03-09 Thread Razvan Deaconescu via so
Razvan Deaconescu  writes:
> Mihaila Corina via so  writes:
>> Buna ziua!
>>
>> Este in regula daca folosim DIE dupa fiecare alocare dinamica nereusita?
>> Sau o sa ni se scada pentru ca nu dezalocam resursele inainte de a da exit?
>
> Bună, Corina.
>
> E OK să folosiți DIE.
>
> Toate resursele proprii / nepartajate procesului (memorie alocată,
> fișiere deschise, thread-uri create) sunt eliberate și închise la
> încheierea procesului (exit). Așa că nu e nevoie să eliberați nimic
> înainte de exit.
>
> Am adăugat precizare și pe wiki[1].

Mi s-a șoptit în casă (mersi, Vali) că răspunsul de mai sus nu este 100%
corect, așa că l-am actualizat[1]:
---
Pe sistemele de operare general purpose de tipul Linux, *OS, Windows,
*BSD, cu biblioteci standard C complexe, resursele proprii /
nepartajate procesului (memorie alocată, fișiere deschise, thread-uri
create) sunt eliberate și închise la încheierea procesului (exit). Pe
aceste sisteme nu e nevoie să eliberați explicit înainte de exit; pot
există medii specifice în care acest lucru nu se întâmplă. Cea mai bună
practică (best practice) este să eliberați explicit resursele ca să
acoperiți toate situațiile.
---

> [1] https://ocw.cs.pub.ro/courses/so/teme/general#lista_depunctari

Răzvan
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Test38] NR_RUNS=1000 e prea mic

2020-03-09 Thread 94345
M-am gandit si eu initial la acelasi lucru si am redus toate dimensiunile 
alocarilor, dar problema pare sa fie cu numarul de apeluri, nu cu dimensiunea 
alocata.
Poate totusi cele 1000 de incercari ajung sa aloce toata memoria disponibila 
fara ca aceasta sa mai fie eliberata.


From: Vlad Lungu 
Sent: Sunday, March 8, 2020 5:30 PM
To: Ştefan VODIŢĂ (94345) ; Sisteme de Operare 

Subject: Re: [so] [Tema1][Test38] NR_RUNS=1000 e prea mic

Când declari hash-ul, ai grija la dimensiune. Nu ai nevoie de o tabelă hash de 
dispersie prea mare.

On Sun, 8 Mar 2020, 16:56 Ştefan VODIŢĂ (94345) via so, 
mailto:so@cursuri.cs.pub.ro>> wrote:
Salut!

Am probleme la testul 38. Am folosit DIE pentru a opri executia de fiecare data 
cand o alocare esueaza.
Atunci cand rulez checkerul vad outputul de la DIE repetat pentru diferite 
alocari. La final apare un mesaj out of memory care anunta ca va fi oprit 
procesul so-cpp, iar testul pica.

Daca nu ma insel, se verifica consecutiv fiecare alocare prin care se trece la 
rulare, dar acest lucru e limitat la 1000 de incercari.
In cazul meu, am numarat 1010 linii de eroare pana s-a oprit programul. Nu stiu 
de ce sunt 10 in plus, dar deduc ca la testul 38 fac mai mult de 1000 de 
alocari si checkerul nu continua verificarea mai departe de NR_RUNS=1000.

E corecta presupunerea mea? Daca nu, din ce cauza ar putea sa apara problema pe 
care o am?


Multumesc,
Stefan Vodita
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] Parametrii gresiti

2020-03-09 Thread Razvan Crainea via so
Salut, Mihai!

Când programul primește parametri greșiți, trebuie să terminați
execuția programului cu o valoare diferită de 0.

[1] https://ocw.cs.pub.ro/courses/so/teme/tema-1#precizari_generale

Numai bine,
Răzvan

On Mon, Mar 9, 2020 at 9:01 AM Mihai Sp via so  wrote:
>
> Buna ziua,
>
> Imi este neclar ce trebuie sa se intample cu so-cpp cand programul da de 
> parametrii gresiti. Am incercat sa il inchid cu return sau exit cu diferite 
> coduri de eroare, dar testele vad ca inca pica.
>
> Multumesc anticipat,
> Spataru Mihai
>
> ___
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii



-- 
Răzvan Crainea
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

[so] [Tema1][Test38] calloc nu intoarce NULL

2020-03-09 Thread Dorin Geman via so
Salut,

La testul 38, in (mini-preprocessor.c, 17), calloc-ul nu întoarce NULL,
drept urmare nu pot ieși cu return code-ul 12.
Dacă înlocuiesc calloc-ul cu malloc-ul, treaba merge bine.
Aveți idee care ar putea fi problema?
Nici dacă fac un if pentru a testa dacă acel pointer este NULL nu trece de
acea parte.

Mulțumesc și o zi frumoasă,
Dorin Geman
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Test38] calloc nu intoarce NULL

2020-03-09 Thread Paul Olaru via so
Probabil altceva e aiurea, pt că calloc cu siguranță poate returna NULL.
Vezi pagina de manual, "man 3 calloc". Poate checkerul nu face el ceva ca
să dea NULL?

On Mon, Mar 9, 2020, 12:41 Dorin Geman via so  wrote:

> Salut,
>
> La testul 38, in (mini-preprocessor.c, 17), calloc-ul nu întoarce NULL,
> drept urmare nu pot ieși cu return code-ul 12.
> Dacă înlocuiesc calloc-ul cu malloc-ul, treaba merge bine.
> Aveți idee care ar putea fi problema?
> Nici dacă fac un if pentru a testa dacă acel pointer este NULL nu trece de
> acea parte.
>
> Mulțumesc și o zi frumoasă,
> Dorin Geman
> ___
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Test38] calloc nu intoarce NULL

2020-03-09 Thread Mihai Barbulescu via so
Imi poti spune __ce__ returneaza calloc?

Alternativ (si nu vad o problema) poti face:
- malloc
- memset(your_ptr, 0, sizeof(your_ptr_datatype))

Checkerul din cate stiu face LD_PRELOAD la malloc dar nu si la calloc,
asa ca mai multe informatii ne-ar ajuta

On Mon, 9 Mar 2020 at 12:41, Dorin Geman via so  wrote:
>
> Salut,
>
> La testul 38, in (mini-preprocessor.c, 17), calloc-ul nu întoarce NULL, drept 
> urmare nu pot ieși cu return code-ul 12.
> Dacă înlocuiesc calloc-ul cu malloc-ul, treaba merge bine.
> Aveți idee care ar putea fi problema?
> Nici dacă fac un if pentru a testa dacă acel pointer este NULL nu trece de 
> acea parte.
>
> Mulțumesc și o zi frumoasă,
> Dorin Geman
> ___
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii



-- 
Cu stimă,
Mihai Bărbulescu
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Test38] calloc nu intoarce NULL

2020-03-09 Thread Dorin Geman via so
On Mon, Mar 9, 2020 at 12:53 PM Mihai Barbulescu  wrote:

> Imi poti spune __ce__ returneaza calloc?
>
> Alternativ (si nu vad o problema) poti face:
> - malloc
> - memset(your_ptr, 0, sizeof(your_ptr_datatype))
>
> Checkerul din cate stiu face LD_PRELOAD la malloc dar nu si la calloc,
> asa ca mai multe informatii ne-ar ajuta
>
> Am rezolvat! Era un DIE pus gresit.
> Multumesc!
>

Dorin Geman
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii