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;
}