C++/CLI
Eintrag zuletzt aktualisiert am: 22.03.2021
C++/
CLI ist ein Aufsatz auf die
Programmiersprache C++ zur Verwendung in Microsoft .NET. C++/
CLI erzeugt keinen Maschienencode, sondern Managed Code für die
Common Language Runtime (
CLR).
Details
C++/
CLI ist eine Sprachbindung für die als
ISO/IEC 14882 standardisierte
Programmiersprache C++ an den ECMA-Standard
Common Language Infrastructure (
CLI). C++/
CLI vereinfacht die Entwicklung von Managed Code gegenüber dem bisherigen Ansatz Managed C++ erheblich. C++/
CLI ist von der ECMA im Dezember 2005 unter ECMA-372 (Arbeitsgruppe TC49 / TG5, früher: TC39 / TG5) verabschiedet worden.
C++/
CLI erlaubt in einer
Softwarekomponente (
DLL,
EXE) Managed Code und
Unmanaged Code zu mischen.
Einsatzgebiete
C++/
CLI wird gerne eingesetzt zur
1. zur Integration zwischen C# und C++
2. zur Migration bestehender C++-Anwendungen nach .NET/C#
Geschichte
Erste offizielle Ankündigung: 6.10.2003
Standardisierung bei ECMA: ECMA-372 Dez 2005 (task group: TG5 / technical committee: TC39)
https://www.ecma-international.org/publications-and-standards/standards/ecma-372/
Seit dem September 2019 gibt es C++/
CLI auch für
.NET Core (ab Version 3.0) und damit auch für
.NET 5 ff.
Beispiel: Eine rekursive Funktion in C++/CLI
#include <cmath>
using namespace std;
using namespace System;
void Zeige(int Zahl)
{
if( Zahl > 0 )
{
Console::WriteLine(L"Zahl: {0}", Zahl);
Zahl--;
Zeige(Zahl);
}
}
int main()
{
const double Nbr = 12.48;
const double Wurzel = sqrt(Nbr);
Console::WriteLine(L"Wurzel von {0} = {1}", Nbr, Wurzel);
Console::WriteLine(L"");
Zeige(14);
return 0;
}