Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schnittstelle zwischen C und C# mittels Wrapper-Klasse



Chito
23-10-2008, 10:08
Hallo,

demnächst möchte ich mich mit dem Thema Wrapper-Klasse befassen.

Es ist ein Motion-Capture-Projekt und ich möchte aus dem VZ-Analyzer einen Datenstrom in die C# Fachklassen leiten. Allerdings wurde der VZ-Analyzer komplett in C geschrieben. Das heisst, dass ich eine Schnittstelle schaffen muss um aus der C-Welt in die C#-Welt zu kommen.

Helfen soll mir hierbei eine Wrapper-Klasse. Leider habe ich noch keine genauere Vorstellung darüber wie das nun genau funktionieren soll.


Wie kann ich mittels einer Wrapperklasse von C# aus auf die C-Methoden zugreifen?

Wie ist der prinzipielle Aufbau einer derartigen Wrapper-Klasse?



Über eure Hilfe würde ich mich sehr freuen ;)
Sollte die Wrapper-Klasse irgendwann mal funktionieren, werde ich diese hier in aller Vollständigkeit posten!


Gruss

Maik

jeebee
23-10-2008, 12:57
die C-Methoden liegen als unmanaged-DLL vor: Du hast in der Wrapperklasse folgendes Snippet (für eine Beispiel-C-Methode int func(int a, int *b))
[DllImport("simple.dll")]
static extern int func(int a, ref int b);
von diesen Snippets brauchst du eines je Methode.

die C-Methoden sind in einem C-File im Projekt: hab ich keine Erfahrung mit.

Möglicherweise hilft dir auch SWIG: http://www.swig.org/

Chito
23-10-2008, 16:44
Vielen Dank für Deine Hilfe ;)

Ich denke, damit kann ich wirklich was anfangen.
Sobald ich etwas in codierter Form habe, werde ich es mal posten. :)