Kezdőoldal » Számítástechnika » Programozás » C++ és Visual C++ között mi a...

C++ és Visual C++ között mi a külömbség?

Figyelt kérdés
Szóval van a common language runtime aminek azaz értelme hogy c++ c# basic eggyütt tud müködni és a dll fájlokbol akármelyik nyelbol meghivhatok az osztályok? De
2016. jún. 1. 17:10
 1/4 anonim ***** válasza:
2016. jún. 1. 17:49
Hasznos számodra ez a válasz?
 2/4 Hominida ***** válasza:

Ha esetleg nem tud angolul, mert vannak ilyen emberek ám:


A Visual C++ a Microsoft állítása szerint egy "modern" C++ verziót követ, de ki van egészítve a nyelv a windowsos kezelőfelület elemeinek objektumként definiálására szolgáló lehetőségekkel, és persze a programfejlesztő felület segíti ezek elhelyezését és beállítását a tervezőablakokban. A gond az, hogy a C++ nem a Microsoft terméke, és tudtommal vannak kis kompatibilitási gondok, attól függően, hogy pontosan melyik C++ verzióval hasonlítod össze.

2016. jún. 1. 21:41
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:
100%

Na várjatok gyerekek, mert itt vannak gondok.


Először is tisztázzuk, hogy van:

- natív kód (ennek az a lényege, hogy az operációs rendszeren kívül ne kelljen sok más dolog a program futtatásához)

- nem natív kód (na itt pont az lesz a lényeg, hogy az operációs rendszeren még pluszban ki kell alakítani egy réteget, így a kódodat közvetlenül nem az operációs rendszer, hanem ez az új réteg fogja kezelni).


Ha .NET-ről van szó, az előbbit hívjuk nem menedzselt (angolul unmanaged) kódnak (merthogy ehhez a .NET-nek semmi köze nincs), míg az utóbbit hívjuk menedzselt kódnak (angolul managed; merthogy ennek a végrehajtásáért pont hogy a .NET fog felelni - na jó, egészen pontosan a CLR).


Ami a C++ nyelvet illeti, annak van egy kis történelme. Ez az egész C++-dolog egy Bjarne Stroustrup nevű emberke találta ki. Aztán odáig fajultak a dolgok, hogy nem úszta meg a szabványosítást. Azóta a C++ rengeteg fejlődésen ment át. A mai napig ezt a szabványosított C++-t értjük akkor, ha valaki a C++ nyelvről beszél.


Na de közben jöttek a Microsoft-ék a Windows-zal, és hát arra az ablakos programok fejlesztése nem volt valami egyszerű dolog. Az első nagyon nagy dobásuk a form designer-rel megküldött Visual Basic volt (na mit tippelsz, miért "Visual" Basic?). Hatalmas sikerének és elterjedésének oka egyszerűen abból állt, hogy ezelőtt vagy 3 napot elcsesztél csak a GUI megtervezésére, VB-vel és a designerrel viszont 10 perc alatt összekattintgattad. Na ezt jó lett volna, ha C++-ban is meg lehet csinálni. Így hát kijött a Visual C++ is - amit összegyúrva a Visual Basic-kel egy programcsomagba lőn Visual Studio. Igaz, itt meg kell említeni, hogy Microsoft-ék C++ fordítója nem tudott mindent, ami az akkori szabványban le volt írva, ráadásul még saját dolgokat is behozhattak, nehogy szabványos legyen már. Ekkor még ugye mind a Visual Basic, mind a Visual C++ natív kódot állított elő.


De ekkor kitalálták, hogyha a Java-nak ennyire jól megy, jó lenne valami saját, hasonló dolog Windows-ra, ami lehetőleg némileg jobb a Java-nál. És lőn .NET. (Csak épp azzal cseszték el az egészet, hogy csőlátással és zárt forráskóddal csak a Windows-ra adták ki, ami miatt még a mai napig sem terjedt el annyira, mint a Java. Ezt így most 2016-ra valamilyen szinten sikerült korrigálni a .NET kódjának megnyitásával, de valljuk be, elég későn sikerült idáig eljutni.) Ekkor jött az a nagy ihlet, hogy innentől kezdve beszüntetjük a natív kódot előállító Visual Basic-et és kiadjuk a menedzselt kódot előállító Visual Basic fordítót (gondolom nem kell megemlítenem, hogy a népszerűsége rohamosan csökkenni kezdett), és bejött a szintén menedzselt kódot előállító fordító és hozzá a nyelv, a Visual C# (ami a mai napig is a .NET "mindent vivő Joker nyelve"). Egyedül a Visual C++ úszta meg azt, hogy megszüntessék a natív kódot előállító fordítót, de persze behozták mellé az új, menedzselt kódot előállító képességet is, hogy .NET-re is lehessen vele fejleszteni.


Mindenesetre itt egy dokumentáció, ami azt taglalja, hogy a mostani Visual C++ fordító hogy viszonyul a most érvényben lévő C++ szabványokhoz:

[link]

2016. jún. 1. 22:21
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Köszi nagyon sokat segítettetek itt nemvoltam képbe,hogy most ez a c++ meg az de mostmár értem :)
2016. jún. 2. 15:14

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!