Forum » Programiranje » [C++] in [C#]
[C++] in [C#]
teac ::
Seveda se da. Najlažje, če narediš classe iz C++ kot .dll, potem pa ta .dll importaš v C#. Še primer.
typo
typo
Zgodovina sprememb…
- spremenilo: teac ()
Rapsey ::
Če si bolj natančen ti bomo lažje pomagali.
- Če je koda v dll-ju, se to lahko naredi preprosto preko p/invoke.
- Druga malce daljša opcija, ampak ti nudi zelo veliko fleksibilnost je pa da napišeš nekakšen wrapper. Eden izmed .NET jezikov je c++/cli. To je v bistvu C++ z dodatki. Če imaš neko staro C++ kodo jo lahko spraviš v .NET preprosto z tem da v nastavitvah projekta vklopiš: "Common language runtime support (/clr)".
Če želiš kodo uporabit iz C#, potem v nastavitvah projekta spremeni "Configuration Type" v "Dynamic Library(dll)". Obe te nastavitvi sta pod "General". Ko je projekt nastavljen je še potrebno napisat še wrapper razred(e), katere boš klical izven dll-ja v C# ti pa bojo dalje klicali tvoje tastare native C++ razrede. Kako se pa to naredi pa si poglej kakšen tutorial za c++/cli. V bistvu je čisto malo spremenjen C++.
Ko je wrapper napisan, preprosto dodaš referenco na dll v tvojem projektu.
- Če je koda v dll-ju, se to lahko naredi preprosto preko p/invoke.
- Druga malce daljša opcija, ampak ti nudi zelo veliko fleksibilnost je pa da napišeš nekakšen wrapper. Eden izmed .NET jezikov je c++/cli. To je v bistvu C++ z dodatki. Če imaš neko staro C++ kodo jo lahko spraviš v .NET preprosto z tem da v nastavitvah projekta vklopiš: "Common language runtime support (/clr)".
Če želiš kodo uporabit iz C#, potem v nastavitvah projekta spremeni "Configuration Type" v "Dynamic Library(dll)". Obe te nastavitvi sta pod "General". Ko je projekt nastavljen je še potrebno napisat še wrapper razred(e), katere boš klical izven dll-ja v C# ti pa bojo dalje klicali tvoje tastare native C++ razrede. Kako se pa to naredi pa si poglej kakšen tutorial za c++/cli. V bistvu je čisto malo spremenjen C++.
Ko je wrapper napisan, preprosto dodaš referenco na dll v tvojem projektu.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | win32 api vs "linux api"Oddelek: Programiranje | 3852 (3125) | denial |
» | c++ lib,dll,h za uporabo v C#Oddelek: Programiranje | 1966 (1765) | noraguta |
» | uporaba C++ unmanaged kode v C#.NET projektuOddelek: Programiranje | 1922 (1645) | krho |
» | VS 2005 C++ pa ne dela brez NET frameworkaOddelek: Programiranje | 1242 (1090) | BlueRunner |
» | [VB 6] Klicanje funkcij dll-ja, napisanega v Cju.Oddelek: Programiranje | 1334 (1224) | NavadniNimda |