Visual Studio - Erori peste erori
Last Updated: May 27 2015 20:46, Started by
GlontzZz
, May 24 2015 11:01
·
0
#1
Posted 24 May 2015 - 11:01
Neata buna! Am reinstalat Visual Studio si la un simplu program care imi calculeaza cel mai mare divizor comun primesc erori. Pentru inceput, am incercat sa il compilez in consola. Toate bune si frumoase, ruleaza fara nicio problema, e ok.
In Visual Studio (Express 2013), cand il compileaza primesc o eroare la deschiderea fisierului .exe, apoi mi se deschide aplicatia... Dupa ce introduc primul numar, imi apare o "exceptie" pe ecran. Daca apas Break sunt trimis intr-un fisier input.c . Dupa asta, nu mai merge sa introduc al doilea numar pentru a finaliza executia, ci trebuie sa inchid consola, din moment ce nu mai pot face nimic in ea. Am incercat si sa dezactivez antivirusul, degeaba. Am incercat sa fac un proiect nou, prima oara ruleaza ok, a doua oara se repeta procedeul de mai sus. Care ar fi cauza? Multumesc! Attached Files |
#2
Posted 24 May 2015 - 11:10
Ai ceva antivirus instalat care nu îți permite deschiderea de executabile sau cumva nu ai drepturi ca în respectivul folder să creezi fișiere?
|
#3
Posted 24 May 2015 - 11:12
Antivirus am avast, care la fiecare program creat dureaza 5 secunde sa il scaneze apoi il deschide... Asta se intampla si cand il compilez manual. Faza e ca l-am si dezactivat si tot la fel face.
Drepturi de a scrie in folderul respectiv am. |
#4
Posted 24 May 2015 - 11:14
Scrie unsigned int.
Eroarea ca nu poate scrie in executabil poate fi daca executabilul e inca pornit, cand dai compile. |
#5
Posted 24 May 2015 - 11:17
Am pus unsigned int si se intampla acelasi lucru. Am cautat in consola si degeaba, nu dau de executabil.
|
#6
Posted 24 May 2015 - 11:23
Da un Build -> Rebuild. Mai arata eroarea ca nu poate scrie?
|
#7
Posted 24 May 2015 - 11:25
Da, aceeasi eroare.
Cand dau Rebuild imi apare si Warning 1 warning : Access to the path 'e:\programare\carteliceu\recursivitate\cmmdc\debug\cmmdc.exe' is denied. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppClean.targets 76 5 cmmdc |
#8
Posted 24 May 2015 - 11:28
Vezi prin task manager daca mai apare cmmdc, sau da un restart.
Asa se explica si eroarea din poze. VS, cand nu poate obtine executabilul, te intreaba daca vrei sa rulezi versiunea obtinuta precedent. Mai mult ca sigur ai zis da si ti-a rulat varianta precedenta unde cred ca nu aveai & la scanf => eroare (scriere la adresa 0) Edited by dani.user, 24 May 2015 - 11:28. |
#9
Posted 24 May 2015 - 11:28
... Cand vad _tmain ca entry point, mi se face rau. Pe voi nu va irita treburile astea?
Procesul e inca pornit, da-i reboot. |
#10
Posted 24 May 2015 - 11:31
Tot nu aparea prin Task Manager... Am incercat cu o repornire VS dar degeaba... Dau un reboot la PC sa vad ce si cum.
L.E.: Gata, vad ca merge acum... Multam! Edited by GlontzZz, 24 May 2015 - 11:35. |
|
#11
Posted 24 May 2015 - 11:49
#12
Posted 24 May 2015 - 11:52
#13
Posted 24 May 2015 - 11:53
#14
Posted 24 May 2015 - 11:55
Ca sa nu mai fac un alt topic, pentru ca ce urmeaza sa intreb are legatura tot cu Erorile VS, care e faza cu toate warning-urile C4996, sa folosesc scanf_s in loc de scanf, _getch() in loc de getch()... Merg dezactivate toate avertismentele fara #define _CRT_SECURE_NO_WARNINGS?
Edited by GlontzZz, 24 May 2015 - 11:56. |
#15
Posted 24 May 2015 - 12:03
In Win9x majoritatea API-urilor folosea ANSI. WinNT ofera si UTF-16.
Astfel, macro-urile au aparut pentru a-ti permite sa compilezi folosind UTF-16 peste tot cand tinteai WinNT, si doar dadeai #undef la UNICODE pentru a folosi ANSI cand tinteai Win9x. Acum functiile de baza ale sistemului folosesc toate UTF-16. Cele pentru ANSI sunt mai ineficiente fiindca practic nu fac altceva decat sa transforme parametrii la UTF-16 si sa apeleze apoi functia "originala". Pana la urma, iti da libertatea sa alegi. Nu te opreste sa scrii direct int main, sau int wmain. GlontzZz a folosit template-ul default pentru aplicatii in consola. GlontzZz, on 24 mai 2015 - 11:55, said:
Ca sa nu mai fac un alt topic, pentru ca ce urmeaza sa intreb are legatura tot cu Erorile VS, care e faza cu toate warning-urile C4996, sa folosesc scanf_s in loc de scanf, _getch() in loc de getch()... Merg dezactivate toate avertismentele fara #define _CRT_SECURE_NO_WARNINGS? scanf nu-i sigur fiindca, atunci cand citesti un sir de caractere, de exemplu, nu tine stie cat spatiu are la dispozitie si poate da peste. scanf_s iti cere un parametru suplimentar prin care ii zici exact cat spatiu ai la dispoztie, si are grija sa nu il depaseasca. Fiind doar warning-uri, le poti simplu ignora, pentru proiecte scolare. Edited by dani.user, 24 May 2015 - 12:00. |
|
#16
Posted 24 May 2015 - 12:07
M-am exprimat eu gresit, si warning si eroare, atunci cand nu pun #define _CRT_SECURE_NO_WARNINGS, iar acea eroare ma opreste din compilare... Ma gandeam ca este prin setari ceva optiune de a dezactiva toate aceste erori si avertismente.
|
#17
Posted 24 May 2015 - 12:37
si de ce ai vrea sa indepartezi avertismentele?
eu unul lucrez in mentenanta, cand apare o problema elimini cauza nu efectul Edited by MarianG, 24 May 2015 - 12:39. |
#18
Posted 24 May 2015 - 12:41
E eroare doar daca lasi bifat Security Development Lifecycle (SDL) checks, cand creezi proiectul.
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users