Обертывание управляемого кода для неуправляемого использования

У нас есть большой проект C ++, который скомпилирован как собственный неуправляемый код. Нам нужно использовать функцию из управляемого кода, но мы не хотим компилировать весь проект в / clr.

Поэтому я создал DLL, у которой есть класс ref с именем B, который представлен в экспортированном собственном классе A. Проблема в том, что я получаю C1190: для управляемого целевого кода требуется опция '/ clr' из-за включения vcclr.h.

Я хотел бы знать, есть ли способ создать какой-то интерфейс, который будет иметь управляемый код в неуправляемых методах.

Вот мой код:

#pragma once
#include "EX_Port.h"
#include <vcclr.h>

ref class B;

class EX_API A
{
    public:
        A();        
        int DeviceCount();

    private:
        gcroot<B^> _device;
};

Мне удалось заставить его работать с помощью gcnew класса B внутри cpp. Но тогда у меня есть локальный объект, в то время как я хотел бы иметь его в глобальной области видимости. Я только начал заниматься программированием на CLI, поэтому я мог не знать о некоторых практиках.

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос