Wir haben ein großes C++ - Projekt, das als nativen nicht verwalteten Code kompiliert wird. Wir müssen eine Funktion aus verwaltetem Code verwenden, aber wir wollen nicht das gesamte Projekt in/clr kompilieren.Wrapping verwalteten Code für die nicht verwaltete Verwendung
Also habe ich eine DLL, eine Ref-Klasse namens B, die in der exportierten nativen Klasse A ausgesetzt ist Problem ist ein C1190: verwaltete Zielcode erfordert eine '/ clr' -Option wegen der vcclr.h enthalten .
Ich würde gerne wissen, ob es eine Möglichkeit gibt, eine Art Schnittstelle zu erstellen, die Code in nicht verwalteten Methoden verwaltet.
Hier ist mein Code:
#pragma once
#include "EX_Port.h"
#include <vcclr.h>
ref class B;
class EX_API A
{
public:
A();
int DeviceCount();
private:
gcroot<B^> _device;
};
Ich konnte es innerhalb der CPP durch gcnew die B-Klasse zu arbeiten. Aber dann habe ich ein lokales Objekt, während ich es im globalen Rahmen haben möchte. Ich habe gerade angefangen, CLI-Programmierung zu machen, so dass mir einige Praktiken nicht bewusst sind.
Dank
Machen Sie C++/CLI-Bibliothek mit nicht verwalteten Schnittstelle für verwaltete Klassen –