C++/CLI: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
první verze
(Žádný rozdíl)

Verze z 31. 12. 2020, 01:30

C++/CLI je rozšíření jazyka C++ pro platformu .NET. Umožňuje vytvářet smíšené binárky, kdy spustitelný soubor nebo dynamická knihovna obsahuje jako nativní kód, tak CIL. Druhou možností je vytvoření tzv. čisté binárky, ve které nejsou nativní instrukce a veškerý kód se překládá do CIL (tato konfigurace odpovídá módu "unsafe" v C#). Třetí možností je vytvářet tzv. bezpečné (ověřitelné) binárky, které ale nemůžou pracovat s neřízenou haldou a nemají tedy žádnou výhodu oproti programům napsaným přímo v C#.

CLR obsahuje speciální instrukce pro C++/CLI, aby bylo možné efektivně pracovat s neřízenou haldou v řízeném kódu. Při volání nativních funkcí, ať už zabudovaných do stejné binárky, nebo v externích dynamických knihovnách, se nepoužívá P/Invoke, ale rychlejší a typově bezpečnější mechanismus IJW. Dynamické knihovny vytvořené překladačem C++/CLI mohou být také volány z nativního kódu, je tak možné jednoduše používat knihovny napsané pro .NET z nativních aplikací. Na rozdíl od novějších verzí .NET (.NET Core) je C++/CLI možné používat pouze ve Windows.