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 | 3892 (3165) | denial |
» | c++ lib,dll,h za uporabo v C#Oddelek: Programiranje | 1986 (1785) | noraguta |
» | uporaba C++ unmanaged kode v C#.NET projektuOddelek: Programiranje | 1947 (1670) | krho |
» | VS 2005 C++ pa ne dela brez NET frameworkaOddelek: Programiranje | 1281 (1129) | BlueRunner |
» | [VB 6] Klicanje funkcij dll-ja, napisanega v Cju.Oddelek: Programiranje | 1366 (1256) | NavadniNimda |