Мне нужно работать с сторонней DLL C ++ с интерфейсом, который представляет собой единую функцию:
CObject * getInstance ();
т.е. он выделяет экземпляр CObject (C ++class) и возвращает указатель на него.
Однако мне нужно сделать этот поток / процесс безопасным, так как getInstance () должен вызываться только один раз, а возвращаемый указатель доступен из нескольких управляемых процессов.
Итак, я собирался написать управляемую оболочку C ++ / CLI для собственной библиотеки DLL.Я могу синхронизировать доступ к вызову функции через мьютекс или семафор, но не уверен, как поделиться экземпляром CObject.Можно ли использовать для этого общую память?Как бы я это настроил?