Autor: Dănuț Ciobanu
Visual Studio este unul dintre cele mai puternice și populare medii de dezvoltare integrate (IDE) disponibile pe piață. Creat de cei de la Microsoft, Visual Studio oferă o gamă largă de instrumente și caracteristici care simplifică dezvoltarea aplicațiilor pentru mai multe platforme și limbaje de programare. În cazul C++, Visual Studio se remarcă prin suportul său robust, integrarea perfectă cu diverse librării și framework-uri, și un set complet de instrumente care îmbunătățesc semnificativ productivitatea programatorilor.
Comparativ cu alte IDE-uri precum Code::Blocks sau Dev-C++, Visual Studio oferă avantajul unei interfețe intuitive și a unui ecosistem de pluginuri și extensii care pot fi personalizate pentru nevoile fiecărui dezvoltator. De asemenea, include un debugger avansat, funcționalități de completare automată a codului prin IntelliSense și suport nativ pentru gestionarea proiectelor mari, făcându-l o alegere excelentă pentru dezvoltatorii care scriu cod în C++.
Prin accesarea paginii oficiale a celor de la Microsoft vi se va deschide următoarea pagină web:
Unde puteți apăsa pe butonul de „Download” și descărcarea installer-ului va începe, precum în imaginea:
Prima data când se va deschide fișierul descărcat la pasul 1 veți fi înâmpinați de următorul ecran:
Aici apăsați pe butonul de „Continue” și, odată ce s-a terminat instalarea se va deschide meniul de unde veți selecta pachetele ce trebuie alese pentru realizarea laboratoarelor din cadrul acestei materii:
În acest meniu cele mai importante selecții de făcut sunt:
Odată terminată selectarea opțiunilor se va apăsa butonul „Install” și se va deschide următoarea (și ultimă) fereastră din procesul de instalare:
Pentru a crea un proiect, când se deschide aplicația Visual Studio, inițial o să apară următorul ecran:
Apăsăm pe butonul de „Create a new project” și mai departe se va deschide următoarea fereastră:
Pentru realizarea exercițiilor din cadrul laboratoarelor vom folosi template-ul ”Console App” care poate fi căutat fie aplicând filtrele C++ pentru limbajul de programare și Windows pentru sistemul de operare, fie căutând direct în căsuța de căutare din partea de sus a meniului.
Apăsând pe butonul „Next” o să apară:
Aici putem introduce numele proiectului dar și locația unde dorim să îl salvăm. După introducerea acestora și apăsarea butonului „Create” se va crea proiectul și se va deschide fereastra de lucru default din Visual Studio:
În cadrul laboratoarelor vom mai folosi biblioteca cstring și în special funcția strcpy din cadrul acesteia pentru copierea valorilor din șiruri de caractere. Visual Studio consideră această funcție depreciată și dacă se va rula vreun program cu această funcție, compilatorul va arunca următoarea eroare: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Pentru rezolvarea acestei probleme se va face click dreapta pe proiect (numele ales de voi scris cu font îngroșat, nu pe „Solution '*' (1 of 1 project)”) și apoi Properties (ultima opțiune de jos). Următorii pași vor fi explicați pe următoarea imagine:
Aceste setări vor face ca în cadrul întregului proiect să puteți folosi funcția „strcpy” fără probleme.
Pentru a putea rula tema 1 folosind IDE-ul Visual Studio sunt necesari mai mulți pași:
După ce s-a realizat clonarea repository-ului de pe GitHub într-un folder local pe calculator, se va deschide Visual Studio și se va intra în următoarele meniuri, conform pozei:
Aici, mai exact, se va intra în: File → New → Project from existing code…. Mai departe se va deschide următoarea fereastră:
Aici se verfică să fie selectat Visual C++ și se apasă Next.
Acum s-a creat proiectul și se pot edita fișierele necesare rezolvării temei. Dar pentru a putea rula programul corect și fără erori, dar și pentru facilitarea lucrului cu Git mai departe, mai sunt etape de parcurs până când proiectul poate fi folosit normal.
Implicit, Visual Studio setează ca mediu de afișare o aplicație Windows când se creează un proiect folosind fișiere existente. Pentru a modifica acest lucru se intră în setările proiectului:
Și mai departe:
Calea efectivă este Linker → System → SubSystem și valoarea la care trebuie setat acest câmp este Console.
Așa cum ați citit în detaliile temei 1, sunt necesare 2 argumente din linia de comandă. Pentru a realiza acest lucru în Visual Studio cea mai ușoară metodă este copierea fișierelor produse.txt și clienti.txt în același folder ca fișierele .cpp și .h (copy-paste din folderele de test în folderul principal al proiectului). De aici se reintră în proprietățile proiectului (Vezi prima poză de aici ):
Aici calea este Debugging → Command arguments și adăugați numele celor 2 fișiere în ordinea obligatorie: produse.txt clienti.txt.
Acum programul va rula și ca ați setat ca parametri în linia de comandă cele 2 fișiere. După rulare, dacă nu ați rtealizat nicio altă modificare în interiorul fișierelor .cpp și .h se va deschide următoarea consolă:
După clonare și după ce ați parcurs pașii de mai sus, dacă mai modificați și câteva fișiere .h sau .cpp lista de fișiere modificate în Git va arăta în felul următor:
Puteți vedea că în afara fișierelor .cpp și .h mai există și multe foldere și fișiere generate de Visual Studio. Pentru rezolvarea cât mai corectă a temei este necesar să facem Push strict la fișierele .h și .cpp, nu altele. Astfel vom modifica fișierul .gitignore clonat astfel încât să se ignore toate fișierele, mai puțin cele .h și .cpp. Conținutul fișierului .gitignore ar trebui să fie:
# Ignoră Makefile Makefile # Ignoră folderul de teste teste/ .vs/ [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ *.vcxproj *.vcxproj.filters *.vcxproj.user *.txt *.sln
În fișierul de .gitignore modficat se ignoră următoarele:
Astfel, după modificarea fișierului .gitignore noua listă de fișiere modificate în Git va fi:
Pentru verificarea corectitudinii temei scrise de voi, va trebui să modificați conținutul fișierelor produse.txt clienti.txt cu fiecare valoare din folderele test0, test1 șamd. Pentru ușurință, puteți face Push la fișierele .h și .cpp modificate de voi și se vor rula automat toate testele direct pe platforma GitHub. Totuși, pentru un debugging mai detaliat se recomandă rularea testelor separat, local și încărcarea pe GitHub periodică pentru a primi punctajele asociate fiecărui test și să vedeți dacă ați “stricat” ceva pe parcurs (ex: a trecut testul 3 însă testul 0, 1 și 2 acum dau eroare).