Re: [so] [Tema1][Windows]Problema rulare teste
2016-03-08 23:42 GMT+02:00 Horia STOENESCU via so : > > Buna seara, > > >Am o problema in legatura cu rularea temei pe o masina virtuala cu > Windows 7 (mentionez ca tema este functionala pe o masina de Linux ). In > momentul cand compilez cu cl.exe ( powershell ) , executabilul generat nu > citeste de la stdin si astfel toate testele legate de acesta pica. Daca > rulez cu gcc pe windows ( in cygwin ), acestea functioneza si obtin toate > cele 90 de puncte. > > Cum as putea rezolva problema si , de asemenea, pot incarca pe vmchecker > arhiva care compileaza cu gcc pe Windows? > Pe Windows compilezi cu Microsoft CL (in ce terminal vrei tu) si de rulat executabilul se ruleaza in cygwin, nu in powershell. E specificat si in enunt acest aspect: "Pe Windows testele se rulează folosind consola Cygwin. Arhivele de teste mai conțin și informații adiționale care v-ar putea ajuta." Nu ai voie sa urci 2 arhive diferite pe cele doua platforme. -- Cu stimă, Mihai Bărbulescu ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Re: [so] [Tema1][Windows]Problema rulare teste
On Tue, 2016-03-08 at 21:42 +, Horia STOENESCU via so wrote: > > Buna seara, > >Am o problema in legatura cu rularea temei pe o masina virtuala > cu Windows 7 (mentionez ca tema este functionala pe o masina de Linux > ). In momentul cand compilez cu cl.exe ( powershell ) , executabilul > generat nu citeste de la stdin si astfel toate testele legate de > acesta pica. Daca rulez cu gcc pe windows ( in cygwin ), acestea > functioneza si obtin toate cele 90 de puncte. > > Cum as putea rezolva problema si , de asemenea, pot incarca pe > vmchecker arhiva care compileaza cu gcc pe Windows? Salutare, Horia, Eu sunt un pic nelămurit dacă tema ta rulează pe Windows când o compilezi cu cl. Apropos de asta, cu gcc *compilezi*. Also, verifici codul de eroare returnat când citești de la stdin? Ce-ți returnează? Crapă cumva când vrei să citești de la stdin și dacă da, ai făcut debugging? Și nu, nu poți încărca arhiva care compilează cu gcc pe Windows. Makefile-ul de Windows trebuie să folosească doar cl. Spor! Costin ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
[so] [Tema1][Windows]Problema rulare teste
Buna seara, Am o problema in legatura cu rularea temei pe o masina virtuala cu Windows 7 (mentionez ca tema este functionala pe o masina de Linux ). In momentul cand compilez cu cl.exe ( powershell ) , executabilul generat nu citeste de la stdin si astfel toate testele legate de acesta pica. Daca rulez cu gcc pe windows ( in cygwin ), acestea functioneza si obtin toate cele 90 de puncte. Cum as putea rezolva problema si , de asemenea, pot incarca pe vmchecker arhiva care compileaza cu gcc pe Windows? Va multumesc, Horia Stoenescu, 333CB Facultatea de Automatica si Calculatoare ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Re: [so] "'checkpatch.pl' tool not found on your system."
Nu e vital, dar după cum am specificat și in enunt ajuta asistentii care corectează tema la alcătuirea unei idei asupra coding style-ului asupra temei. Oricum ne uităm manual pe cum arată codul sursă și observăm imediat anumite inconsistente. Pe viitor : dacă vei submite patch in Linux kernel si nu trece de checkpatch.pl va fi ignorat. Și ar fi păcat de munca ta,nu ? -- Cu stimă, Mihai Bărbulescu On Tue, Mar 8, 2016 at 1:25 PM -0800, "Antonica Alexandru via so" wrote: Este esential pentru scriptul de test :D? Multumesc ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
[so] "'checkpatch.pl' tool not found on your system."
Este esential pentru scriptul de test :D? Multumesc ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Re: [so] [Tema1]
On Tue, 2016-03-08 at 13:48 +0200, Raluca Caciula via so wrote: > Pentru tratarea erorilor am folosit functia DIE(), insa daca a aparut > o eroare, > nu mai realizez dezalocarea memoriei alocate pana in momentul de fata. > Este aceasta o > problema? Short answer: Nu e o problemă, nu depunctăm. Long answer: Pe sistemele de operare moderne pe care poți să omori procese la discreție, așa cum sunt Windows și Linux, OS-ul dezalocă resursele (memoria alocată, fișiere deschise) procesului la terminare. Deci memoria nu rămâne "agățată". Evident că există și OS-uri care nu aplică acest principiu, dar acestea fac parte din alte categorii (OS-uri embedded cu număr fix de procese, OS-uri care nu folosesc memorie virtuală, etc.) și nu intră în scope-ul laboratoarelor/temelor. Oricum, ca să dezaloci toată memoria dinamică înaintea unui assert/exit ai avea nevoie de un mecanism de error-handling prea complicat pentru teme. Ar trebui fie să faci exit doar în funcția main, fie să ai acces în funcția în care faci exit la toate variabilele alocate dinamic în program. Costin ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Re: [so] [Tema1]
On 8 March 2016 at 13:48, Raluca Caciula via so wrote: > Buna ziua, > > Am testat, (pentru fiecare test) tema si outputul dat de valgrind este: > ==7957== Memcheck, a memory error detector > ==7957== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. > ==7957== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info > ==7957== Command: ./tema1 56 ./_test/inputs/test1.in > ==7957== > ==7957== > ==7957== HEAP SUMMARY: > ==7957== in use at exit: 0 bytes in 0 blocks > ==7957== total heap usage: 5 allocs, 5 frees, 1,056 bytes allocated > ==7957== > ==7957== All heap blocks were freed -- no leaks are possible > ==7957== > ==7957== For counts of detected and suppressed errors, rerun with: -v > ==7957== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > > Pentru tratarea erorilor am folosit functia DIE(), insa daca a aparut o > eroare, > nu mai realizez dezalocarea memoriei alocate pana in momentul de fata. Este > aceasta o > problema? > Intr-adevar, daca folosesti DIE (sau assert) nu se elibereaza corect toata memoria in majoritatea cazurilor. Cel mai corect mod este cel indicat aici [1]. Din punctul meu de vedere, verificarea fiecarui apel de sistem dupa erori e mai important decat eliberarea resurselor. Totusi sa tii minte, pe viitor, ca in unele sisteme a nu aborda ca in [1] te poate costa (in cel mai fericit caz!) un reboot al sistemului, ceea ce nu e niciodata placut :) Asigura-te ca daca codul tau nu intoarce nici o eroare/exceptie/DIE/assert toate resursele sunt eliberate si nu vom depuncta in acest caz. [1] http://ocw.cs.pub.ro/courses/so/laboratoare/resurse/die#alta_abordare -- Cu stimă, Mihai Bărbulescu ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
[so] [Tema1]
Buna ziua, Am testat, (pentru fiecare test) tema si outputul dat de valgrind este: ==7957== Memcheck, a memory error detector ==7957== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==7957== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info ==7957== Command: ./tema1 56 ./_test/inputs/test1.in ==7957== ==7957== ==7957== HEAP SUMMARY: ==7957== in use at exit: 0 bytes in 0 blocks ==7957== total heap usage: 5 allocs, 5 frees, 1,056 bytes allocated ==7957== ==7957== All heap blocks were freed -- no leaks are possible ==7957== ==7957== For counts of detected and suppressed errors, rerun with: -v ==7957== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Pentru tratarea erorilor am folosit functia DIE(), insa daca a aparut o eroare, nu mai realizez dezalocarea memoriei alocate pana in momentul de fata. Este aceasta o problema? Raluca Caciula 334 CB ___ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Re: [so] [Tema1][Windows][Eroare Compilare]
Am adaugat specificarea la sectiuna Q&A a enuntului temei [1], intrucat e o problema de care s-au lovit des studentii. Legat de C99, eu de obicei pun --std=c99 preventiv, dar versiunile noi de gcc (> 4.7) stiu ca e implicit un fel de dialect numit gnu89 (un C89/C90 cu flavor-uri de C99, printre care si chestia asta cu declaratul variabilelor). Vezi [2] [1] http://ocw.cs.pub.ro/courses/so/teme/tema-1?faq [2] https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#C-Dialect-Options 2016-03-07 23:07 GMT+02:00 Călin Cruceru : > Salut, > > 2016-03-07 22:45 GMT+02:00 Mihai Catalin Arsenescu via so > : >> Hello! Pe vmchecker imi compileaza tema si trec majoritatea testelor >> pe linux. Cand incerc pe windows imi da multe erori printre care >> >> tema1.c(20) : error C2143: syntax error : missing ';' before 'type' >> tema1.c(21) : error C2143: syntax error : missing ';' before 'const' >> tema1.c(22) : error C2143: syntax error : missing ';' before 'type' >> >> Ma puteti ajuta cu o idee? >> >> Multumesc, >> > > Noroc cu tagarea erorilor pe care cl.exe o face; e ușor de căutat pe > google[1]. Cel mai probabil pe linux compilezi cu -std=c99, sau e > default-ul gcc-ului. > > [1]: > http://stackoverflow.com/questions/15697190/error-c2143-syntax-error-missing-before-type > > Călin > ___ > 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