Microsoft Visual C++ är en integrerad utvecklingsmiljö och kompilatorserie från Microsoft som främst används för utveckling i C och C++. Produkten ingår i Visual Studio-familjen och riktar sig till utvecklare som bygger både inbyggda (native) och hanterade (managed) program. Visual C++ innehåller verktyg för redigering, kompilering, felsökning och paketering och används av både kommersiella program och öppen källkodsprojekt.
Översikt
- IDE och verktyg: Integrerat utvecklingsmiljö (IDE) med kodredigerare, projekt- och lösningshantering, grafiska designers och felsökare.
- Komponenter: MSVC-kompilatorn, länkaren, felsökaren (debugger), och standardbibliotek för C/C++.
- Redistributables: Många Windows-program kräver att rätt version av Visual C++-körningstidsbiblioteket (vanligtvis kallat "Visual C++ Redistributable") är installerad för att fungera korrekt.
Historia och utveckling
Produkterna som blev Visual C++ började som separata C-kompilatorer från Microsoft under namnet Microsoft C/C++. Den första versionen som bar namnet Microsoft Visual C++ lanserades officiellt i februari 1993.
Under 1990- och 2000-talen utvecklades Visual C++ för att stödja fönsterapplikationer (via MFC—Microsoft Foundation Classes) och ActiveX/COM-utveckling (via ATL). Genom åren har utgåvorna varierat mellan fristående Express-versioner, kommersiella Professional/Enterprise-utgåvor och den fria Community-utgåvan som riktar sig till enskilda utvecklare och små organisationer.
Utgåvor och licensiering
- Community: Gratisversion med bred funktionalitet för individuella utvecklare, utbildning och små organisationer.
- Professional/Enterprise: Betalda utgåvor med avancerade teamfunktioner, stöd och prestandaverktyg.
- Express (historiskt): Lättviktiga fria utgåvor som Microsoft tidigare erbjöd; dessa har successivt ersatts av Community-utgåvan.
Viktiga funktioner
- MSVC-kompilatorn: Optimeringar för Windows-plattformen och stöd för olika C++-standarder.
- Felsökning: Integrerad felsökare för att analysera körningstidsfel, minnesläckor och prestandaproblem.
- Bibliotek och ramverk: Stöd för MFC, ATL, Windows API samt möjligheter att skapa .NET-kompatibla komponenter med C++/CLI.
- Byggverktyg: Projektfiler, MSBuild-integration och verktyg för paketdistribution.
Visual C++ och körningstidsbibliotek
Många tredjepartsprogram som är byggda med Visual C++ kräver att motsvarande Visual C++ Redistributable är installerat på måldatorn. Dessa paket innehåller delar av C-runtime och andra binära beroenden som inte alltid distribueras med programmet.
Standardstöd och kompatibilitet
Historiskt sett låg MSVC efter andra kompilatorer när det gäller stöd för modern C- och C++-standard, särskilt för vissa C99-funktioner. Under 2010-talet förbättrades stöd för C99-funktioner successivt; betydande förbättringar infördes runt 2013–2015.
- C-standarder: MSVC implementerade under 2010-talet många utvalda C99-funktioner och vidareutvecklade stöd för senare delar av C-standarden. Fullständig och formell täckning av alla C11-funktioner har varierat mellan versioner, och arbete med utökad stöd för C-standarden pågår fortfarande.
- C++-standarder: Visual C++ har under senare år fått omfattande stöd för C++11, C++14, C++17 och många funktioner från C++20. Implementeringen av nyare C++-funktioner fortsätter i aktuella Visual Studio-utgåvor.
Användningsområden
- Utveckling av högt presterande skrivbordsapplikationer för Windows
- Spelutveckling och grafikprogrammering
- Systemnära programvara och drivrutiner (native kod)
- Portningar av befintlig C/C++-kod till Windows-plattformen
Vem använder Visual C++?
Visual C++ används av professionella programmerare, företag och hobbyutvecklare som bygger native Windows-program. Verktyget är särskilt vanligt i sammanhang där integration mot Windows API eller hög prestanda är viktiga krav.
Sammanfattning
Visual C++ är en central del av Microsofts utvecklingsverktyg för C och C++. Det kombinerar en kommersiellt utvecklad kompilator med ett omfattande utvecklingsmiljö och ett ekosystem av körningstidsbibliotek. Stödet för moderna C- och C++-standarder har förbättrats över tid, och Visual C++ fortsätter att uppdateras i takt med nya språkfunktioner och plattformsbehov.