Probleme cu mediul visual c++!!!!!

Intrebari despre programarea cu VC++ incluzand mediul de dezvoltare, instalare, setari, debugger, compilator, linker si documentatie.
reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 10:23

am o problema urgenta legata de visual
am inceput sa invat c++ si am realizat un proiect simplu in visual c++
la lucrul cu pointeri, din cauza erorilor legate de alocarea acestora
programul mi se blocheaza si nu il mai pot recompila.
Intra in Build si ramane acolo... nu pot sa-l inchid decat din task manager iar apoi daca il deschid
imi apare o eroare de gen ca nu poate redeschide fisierul cu extensia .ilk.
nu pot sa ii dau clean sau rebuild chiar daca sterg liniile de cod legate de pointeri.



User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Marius Bancila » 05 Aug 2010, 11:07

Liniile de cod legade de pointeri sau alte linii nu afecteaza pocesul de build. Incearca sa stergi fisierele pe care le genereaza VC++, cum ar fi folderul Debug (sau Release dupa caz), .ncb, .suo si vezi daca problema ramane aceiasi.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Ovidiu Cucu » 05 Aug 2010, 11:13

O mica intrebare: ce versiune de VS folosesti?

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 11:36

am sters debug-ul dar tot nu merge, imi spune ca nu gaseste executabilul...

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 11:42

#include <iostream>
using namespace std;

void main()
{
char* p="cuvant";
char* q;
while(*p != 0)
{
*q = *p;
p++;
q++;
}
*q=0;
cout<<q<<endl;
}

asta e mica bucata de cod care imi da batai de cap

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 11:43

cout e cu * :D

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 11:44

folosesc visual studio 2008

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 11:45

Visual studio 2008 Professional Edition

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Ovidiu Cucu » 05 Aug 2010, 12:00

Tot intrebare: la compilare nu-ti da nici un warning?
Eu cred ca da (fii putin atent la linia 2).

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 12:03

da, imi da un warning ca nu e alocat q, dar am incercat sa-i dau lu q, null, 0 si tot asa face
faza e ca da, imi da erori ca nu e bine ca nu stiu ce dar ar trebui dupa ce modific eu pe-acolo
sa ma lase sa dau rebuild, clean... dar el se blocheaza si nu mai pot sa fac nimik
tre sa fac alt proiect si tot asa
ori imi spune ca nu gaseste executabilul

am adaugat linia cu using namespace std pentru ca nu imi recunoaste "cout" fara ea desi am inclus iostream
daca pun iostream.h tot nu mi-l recunoaste
Last edited by reborn on 05 Aug 2010, 12:09, edited 1 time in total.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Ovidiu Cucu » 05 Aug 2010, 12:09

Hai sa rezolvam intai asta:
reborn wrote:da, imi da un warning ca nu e alocat q, dar am incercat sa-i dau lu q, null, 0 [...]
Faptul ca initializezi q cu NULL (0), nu inseamna ca si aloci.
Ia incearca un new sau malloc.

reborn
Junior
Junior
Posts: 9
Joined: 05 Aug 2010, 10:16

Re: Probleme cu mediul visual c++!!!!!

Post by reborn » 05 Aug 2010, 12:12

inca ceva nu stiu ce o fi avand dar am facut un proiect nou simplu in care i-am dat un cout amarat
si i-am dat ctrl+f5 si ramane in linking.....imi apare ca built started si ramane asa in asteptare

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Marius Bancila » 05 Aug 2010, 12:13

Aplicatia ta ar crapa la rulare, pentru ca q este un pointer catre o adresa de memorie nespecificata. Poata avea orice valoare, teoretic. Cand faci *q = *p pur si simplu vei suprascrie ce se gaseste la acea locatie de memorie (cu exceptia cazului cand q = NULL si deferentierea lui NULL iti va termina aplicatia). Trebuie, asa cum a zis Ovidiu, sa aloci o zona de memorie spre care sa indice q.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Marius Bancila » 05 Aug 2010, 12:16

reborn wrote:inca ceva nu stiu ce o fi avand dar am facut un proiect nou simplu in care i-am dat un cout amarat
si i-am dat ctrl+f5 si ramane in linking.....imi apare ca built started si ramane asa in asteptare
Hm, daca nu builduie nici o solutie, inseamna ca ai o problema cu mediu. Incearca sa rulezi in safe mode si sa builduiesti:

Code: Select all

Devenv.exe /SafeMode
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3778
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Probleme cu mediul visual c++!!!!!

Post by Ovidiu Cucu » 05 Aug 2010, 12:30

Sa bagi compilatorul/bulderul in balarii nu-i lucru usor. Deh, norocul incepatorului... :D ;)
Pana una alta trebuie sa-ti corectezi greselile din cod si sa scapi de scrieri la adrese aiurea (cum ar fi la adresa data de pointerul q). Dupa aia vezi ce mai zice "mediul".
Ai putea face ceva de genul:

Code: Select all

#include <iostream>
using namespace std;

void main()
{
   const char* p="cuvant";
   const size_t size = strlen(p) + 1;
   char* buff = (char*)malloc(size);
   char* q = buff;
   while(*p != 0)
   {
      *q = *p;
      p++;
      q++;
   }
   *q=0;
   cout<< buff <<endl;
   free(buff);
}
Desi toata bucla s-ar fi rezolvat cu un strcpy, sa zicem ca-i un exercitiu.

Post Reply