Установка gem или обновление RubyGems завершается с ошибкой прав доступа

Сначала я использовал COM-взаимодействие, но теперь я переключился на IJW (он просто работает), поскольку он намного проще. У меня есть оболочка C ++ / CLR DLL (скомпилировать с /clr).

Простой пример (с использованием статики для облегчения вызовов):

namespace MyClasses       
{
    public class MyClass
    {
        public static void DoSomething()
        {
            MessageBox.Show("Hello World");
        }
    }
}

В DLL я могу ссылочные пространства имен следующим образом:

using namespace MyClasses;

И назовите его:

__declspec(dllexport) void CallManagedCode()
{
    MyClass::DoSomething();
}

Теперь у вас есть неуправляемый DLL-экспорт «CallManagedCode», который вызывает управляемый код.

Конечно, вам также нужно преобразовать данные между управляемой / неуправляемой границей. Начиная с VS2008, Microsoft включает помощника маршала для преобразования между неуправляемыми и управляемыми типами. См. http://msdn.microsoft.com/en-us/library/bb384865.aspx

529
задан user2066657 11 June 2019 в 07:29
поделиться