Programare nativa cu VC++?

Intrebari despre programarea cu VC++ incluzand mediul de dezvoltare, instalare, setari, debugger, compilator, linker si documentatie.
Post Reply
jcoder
Junior
Junior
Posts: 3
Joined: 11 Oct 2009, 10:42
Judet: Dâmboviţa

Programare nativa cu VC++?

Post by jcoder » 11 Oct 2009, 10:55

Salut!Am si eu niste intrabari legate de VC++.Dar mai intai sa precizez ca am studiat C++ in facultate si C# pe cont propriu.NET-ul e usor dar din pacate pentru a face chestii mai interesante trebuie sa recurgem la interoperabilitate cu Win32 API capitol la care sunt praf...Intrebarea mea este:se poate face programare nativa cu VC++?Stiu ca VC++ se bazeaza pe o librarie MFC care ascunde (sau amplifica dupa cum am mai auzit :) ) complexitatea Win32 API.Cum este delpoymentul cu aceasta librarie?Daca as dori sa ma apuc sa invat VC++ trebuie sa citesc o carte intai despre Win32 API sau pot intra direct in el(in VC++ :) ).De asemenea daca imi puteti recomnada niste cartie pe care le cosiderati "valoroase" despre VC++ as fi recunoscator.Mersi!



neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Programare nativa cu VC++?

Post by neagu_laurentiu » 11 Oct 2009, 11:17

Primul rol al lui VC++ e sa faca aplicatii native. E adevarat ca poate mixa cod unamanaged cu managed dar asta e un element de interoperabilitate.
E discutabila chestia cu .NET-ul si faptul ca trebuie sa stii WinAPI. De exemplu, WPF-ul nu e construit peste HWND (ca sa zic asa) si ca atare nu-ti folosesc functiile specifice la nimic (comparativ cu WinForms) - asta daca ne legam de partea vizuala - insa putem analiza orice alta componenta.
VC++ include un compilator si un IDE. Deci nu "se bazeaza" pe MFC. E o biblioteca integrata in IDE la instalare. Dar la fel de bine poti dezvolta cu multe altele.
Poti linkediata static si nu mai ai nevoie de nici un .dll la client sau daca mergi pe dinamic incluzi tot ce e nevoie in kit-ul de instalare. Poti sa-ti faci tu propriul mecanism de actualizare versiuni etc. Asta cu "deploymentul" nici nu poate fi enumerata la capitolul eventuale probleme.
Eu zic ca trebuie initial sa stii ceva despre WinAPI (poate destul de mult) ca apoi sa te apuci de MFC. Merge si direct dar tot o sa te lovesti de API-ul Windows. Mai degraba din .NET nu o sa te lovesti de acest API.
Am eu ceva documentatie electronica in materie de MFC !

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

Re: Programare nativa cu VC++?

Post by Ovidiu Cucu » 11 Oct 2009, 13:37

Pun pariu ca inteleptii de la care ai auzit ca MFC-ul "amplifica" complexitatea WinAPI habar n-au nici de una, nici de cealalta. Caz comun printre"specialisti" .NET proaspat sculati de pe olitza. ;)

User avatar
zlatomir
Membru++
Membru++
Posts: 282
Joined: 04 Jul 2009, 23:59
Location: Arad
Contact:

Re: Programare nativa cu VC++?

Post by zlatomir » 11 Oct 2009, 14:07

@Ovidiu ROTFLOL
ONTOPIC: Recomandare carte: Beginning Visual C++2008 scrisa de Ivor Horton... e destul de ok cartea (pentru incepatori chiar si daca nu ai cunostiinte de c++) are si parti scrise pentru c++/cli (implementarea Microsoft pt masina virtuala, deci partile alea poti linistit sa sari peste ele) si in rest te duce de la "hello world" in consola pana la baze de date (SQL) prin intermediul MFC...

jcoder
Junior
Junior
Posts: 3
Joined: 11 Oct 2009, 10:42
Judet: Dâmboviţa

Re: Programare nativa cu VC++?

Post by jcoder » 11 Oct 2009, 15:30

OK, o sa caut cartea lui Ivor Horton si o sa ma apuc de citit.Mersi pentru lamuriri baieti :)

Dragos Cojocari
Membru++
Membru++
Posts: 789
Joined: 11 Jul 2007, 14:11

Re: Programare nativa cu VC++?

Post by Dragos Cojocari » 12 Oct 2009, 09:09

Cu Visual Studio poti scrie aplicatii native fie folosind direct SDK-ul Windows-ului fie folosind MFC. MFC-ul e o biblioteca ce organizeaza SDK-ul Windows-ului ptr a fi folosit intr-un mediu OO ( Object Oriented). MFC_ul nu amplifica in nici un fel complexitatea SDK-ului. Poti incepe direct de la MFC dar as recomanda sa studiezi un pic cum functioneaza Windows-ul. Fara a intelege pe deplin ce se intampla in spate MFC_ul poate parea ciudat/complicat/mistic. Din cate am inteles asta e una din cele mai bune carti ptr programare Windows: http://www.charlespetzold.com/pw5/

User avatar
MrSmersh
Microsoft MVP
Microsoft MVP
Posts: 289
Joined: 20 Jul 2007, 10:18
Location: Timisoara
Contact:

Re: Programare nativa cu VC++?

Post by MrSmersh » 12 Oct 2009, 23:20

Acuma in cartea lui Petzold sint si niste concepte care cad mai greu la stomac ca pompa de mesaje si wndproc... De care MFC te cam fereste... Dar daca ai inteles Petzold, MFC o sa para jucarie :biggrin:

jcoder
Junior
Junior
Posts: 3
Joined: 11 Oct 2009, 10:42
Judet: Dâmboviţa

Re: Programare nativa cu VC++?

Post by jcoder » 13 Oct 2009, 10:33

Da o sa arunc un ochi si peste Programming Windows de Petzold.Codul pentru a afisa in fereastra ""Hello world!" reprezentat de WinMain si WndProc este...cel putin interesant :) .Mersi pentru recomandare

kristi_eu
Junior
Junior
Posts: 8
Joined: 13 Nov 2010, 14:18
Judet: Bucureşti

Re: Programare nativa cu VC++?

Post by kristi_eu » 01 Jan 2011, 22:03

Sper ca nu e threadul gresit,
dar in navigarea pe net am gasit site-ul asta : http://herakles.zcu.cz/local/manuals/MF ... ewtoc.html , o carte de MFC pt incepatori :) (sunt pagini HTML, nu trebuie download-at nimic, e publica treaba) :)
Acum nu stiu cat de fantastica e cartea, dar vedem.

Sper sa ajute pe cineva care vrea sa invete si altceva decat .NET, Java.

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

Re: Programare nativa cu VC++?

Post by Ovidiu Cucu » 02 Jan 2011, 14:27

kristi_eu wrote: in navigarea pe net am gasit site-ul asta : http://herakles.zcu.cz/local/manuals/MF ... ewtoc.html , o carte de MFC pt incepatori :) (sunt pagini HTML, nu trebuie download-at nimic, e publica treaba) :)
Acum nu stiu cat de fantastica e cartea, dar vedem.
Nu-i nici prea-prea dar nici foarte-foarte. :D

Un mic review, in fuga:
  1. Prezentare nashpa:
    In multe locuri prezinta o abordare destul de greoaie, cu multe explicatii "din spate" care fac un incepator s-o ia la goana:
    The set of functions for doing drawing is called the GDI (Graphics Device Interface), which is a DLL supplied with the operating system. Anytime your program draws directly on the display or printer, it must use the GDI functions. There are two parts of Windows OS that do the conversion from the graphics function calls to the actual commands sent to the hardware. One part is the GDI, or Graphics Device Interface. Most of the GDI resides in a program file called GDI.EXE that is stored in the Windows OS System directory. The Windows OS environment will load GDI.EXE into memory when it is needed for graphical output. The operating system will also load a device driver program if the hardware conversions are not part of GDI.EXE. Drivers are just programs that assist the GDI in converting graphics commands to hardware commands. Common examples of drivers are VGA.DRV for a VGA video screen and HPPLC.DRV for the HP LaserJet printer.
    ...si tot asa, bla-bla si iar bla...
  2. Afirmatii false:
    All subsequent chapters in this book use child windows. Chapters Six, Seven, and Eight deal with dialog boxes (which are popup windows) and controls (which are fixed child windows).
    Nu stiu de unde a scos porumbelul cu "popup child windows" vs. "fixed child windows".
    Pentru lamurire, a se vedea
  3. Alte confuzii si bolmojeli de termeni: "custom control" vs. "owner-draw control".
  4. Typing errors: Cpen in loc de CPen s.a.m.d.
  5. Obsolete: e la nivelul MFC2.5... MFC 4.0.
Nu zic ca-i foarte-foarte rea dar eu unul nu m-as grabi sa o recomand unui incepator.

kristi_eu
Junior
Junior
Posts: 8
Joined: 13 Nov 2010, 14:18
Judet: Bucureşti

Re: Programare nativa cu VC++?

Post by kristi_eu » 02 Jan 2011, 14:44

Da, acum vad ca sunt unele greseli.
Oricum, sunt cateva tutoriale pe net pe care le-am gasit:

http://www.tenouk.com/cplusplusnmfc.html
http://devcentral.iftech.com/articles/MFC/default.php
http://www.codersource.net/mfc/mfc-tutorials.aspx

Si la o prima impresie, vad ca abordeaza lucruri care ar putea ajuta incepatorii in programarea nativa folosind MFC.
daca cineva mai gaseste vreun site, sa posteze link-ul daca doreste.

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

Re: Programare nativa cu VC++?

Post by Ovidiu Cucu » 02 Jan 2011, 15:00

Ca tot ne distram cu review la "tutoriale"... :)
extras de la http://www.codersource.net/MFC/MFCTutor ... Part1.aspx

Code: Select all

   m_pMainWnd->ShowWindow(1);
Mai ce i-as fi dat lui ala cu tastatura-n cap! Hacker style, sau l-a durut mana sa scrie SW_SHOW? :D

[ Later edit ]
Sfatul meu e sa nu luati de pe net orice chestie de pleashca gasita cu google search.
De exemplu, acest articol, tot de pe codersource dot net, chipurile "MFC Advanced", e gresit cap-coada. Mai greseste omul, dar asta-i total cu pluta.

kristi_eu
Junior
Junior
Posts: 8
Joined: 13 Nov 2010, 14:18
Judet: Bucureşti

Re: Programare nativa cu VC++?

Post by kristi_eu » 02 Jan 2011, 22:10

da, asta chiar e tare:
m_pMainWnd->ShowWindow(1);

Probabil ca pt el e mai inteligibil 1 decat SW_SHOW

Din pacate, prea multe tutoriale bune de MFC nu am gasit, deci tot cartea lui Prosise e sfanta ;)

kristi_eu
Junior
Junior
Posts: 8
Joined: 13 Nov 2010, 14:18
Judet: Bucureşti

Re: Programare nativa cu VC++?

Post by kristi_eu » 02 Jan 2011, 23:08

Ca tot venii vorba de tutoriale de MFC, aici e o carte facuta parca de baietii de la functionX, se ocupa oamenii cu niste tutoriale:

http://www.math.hcmuns.edu.vn/~tatuana/ ... %202nd.pdf

Post Reply