Ich habe die folgende Struktur in C ++
%Vor%Und das ist meine Funktionsdeklaration in C ++:
%Vor%Dies ist mein entsprechender C # -Code:
%Vor% Wenn ich jedoch FaceGenerationDummy
mit diesem Test anrufe:
Ich habe festgestellt, dass KdTrees in C ++ 0 ist anstelle von 1 als übergeben.
Was habe ich falsch gemacht?
Edit: Ich benutze Visual Studio 2008 auf einem Windows 7 32 Bit, nicht sicher, ob das hilft.
Edit 2: Beide sizeof(SnapRoundingOption)
gibt die gleiche Zahl zurück, 16.
Das Problem besteht darin, wie Sie die Felder bool
anordnen. Dies sind einzelne Bytes in C ++ und müssen daher gemarshallt werden:
Finden Sie dies auf der C ++ Seite:
%Vor%Ich habe die Packeinstellungen entfernt, damit die Strukturen eine natürliche Ausrichtung zur Plattform haben.
Sie sollten auch sicherstellen, dass Ihre Aufrufkonventionen übereinstimmen. So wie es aussieht, sieht der C ++ Code cdecl
und der C # Code stdcall
aus. Zum Beispiel
würde die beiden Seiten der Schnittstelle ausrichten.