Сведения о вопросе

NOTtoday

01:57, 5th August, 2020

Теги

.net   visual-c++   memory    

Является ли визуальная память C++ управляемой платформой Dot Net

Просмотров: 392   Ответов: 3

Недавно я столкнулся с ошибкой при доступе к MAPI через фреймворк .NET (как описано в этой статье). Теперь я остался с серией ошибок нарушения доступа к памяти.

Чтобы обойти эти проблемы, я пытался использовать этот сторонний компонент, который имеет ядро Visual C++. К сожалению, мы все еще имеем те же ошибки.

Я лично никогда не использовал Visual C++, но мой вопрос заключается в следующем: если библиотека C++ компилируется с помощью Visual Studio 2005, используя Visual C++ - будет ли память проекта управляться платформой .NET, а это, следовательно, сделает ее подверженной тем же проблемам, что и библиотеки .NET, которые мы используем? Или я лаю не на то дерево?



  Сведения об ответе

davran

22:46, 8th August, 2020

Два предыдущих ответа упоминали " управляемый C++", это старый болт, который они сделали, чтобы позволить вам использовать управляемый C++ в среде .NET. Это был не первоклассный гражданин - в отличие от C++/CLI (текст ссылки . Но чтобы ответить на ваш первоначальный вопрос, нет, Visual C++ не управляется средой выполнения .NET. Управляемые C++ & C++/CLI являются.


  Сведения об ответе

PAGE

19:17, 6th August, 2020

Если вы не используете управляемый C++ (что не похоже на вас), то нет, память не управляется CLR.

Рекомендуемый способ общения с Exchange в .Net-через WebDAV.


  Сведения об ответе

PROGA

09:23, 24th August, 2020

Я не совсем понимаю, о чем ты спрашиваешь, но попробую.

Visual C++ - это чистый компилятор C/C++, поэтому у него нет ни управления памятью .NET, ни его среды выполнения-вам нужно вручную вызвать new и delete.

.NET также предоставляет C++/CLI, который является слегка измененной версией C++, предназначенной для среды выполнения .NET, и GC знает -- например. его память управляется средой выполнения .NET.

Без более подробной информации о вашем баге я действительно не могу сделать никаких предложений, кроме того, что вы убедитесь, что используете соответствующие GC guards и provide finalizers в любом месте, где они необходимы.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться