Как бы вы построили оболочку для неуправляемого кода, чтобы использовать его в управляемом коде, и когда именно это вам нужно сделать?Wrapper к неуправляемому коду
ответ
Вам не обязательно нужна обертка, многие библиотеки DLL с прямыми экспортированными функциями C могут быть выведены с помощью атрибута [DllImport]. Исключением для экспорта C было бы плохо спроектированная DLL, которая требует, чтобы клиентский код выпускал память, которая не может быть выполнена управляемым кодом, поскольку он не имеет доступа к распределителю.
В случае, когда у вас есть , есть, чтобы иметь оболочку, является родным классом C++. Управляемый код не может вывести его напрямую, поскольку он не знает, как создать экземпляр класса (который требует знания размера объекта и вызова конструктора), а также как его уничтожить (что требует вызова деструктора). Это довольно легко сделать в C++/CLI. Очень механически, проект SWIG может сделать это автоматически. Изучение этого инструмента, однако, скорее инвестиции, чем обучение написанию обертки.
- 1. C++/cli pass (управляемый) делегировать неуправляемому коду
- 2. Как передать массив объектов неуправляемому коду?
- 3. Обратный P/Invoke (также) Управляемый обратный вызов к неуправляемому коду
- 4. Закрепление делегата внутри структуры перед передачей неуправляемому коду
- 5. относительный путь к неуправляемому DLL
- 6. Доступ к неуправляемому массиву в C++/CLI
- 7. Как сохранить управляемые объекты кода, переданные неуправляемому коду, как SWIG shared_ptr?
- 8. Вернуться к основному коду
- 9. Подключение ключей к коду
- 10. Пояснение к java-коду
- 11. безопасность доступа к коду
- 12. Spring Neo4j - Не удается получить доступ к неуправляемому расширению
- 13. .NET справиться с добавлением необязательных параметров к неуправляемому API
- 14. Процесс смешанного режима и управляемый к неуправляемому IPC
- 15. Подключение управляемого источника события к неуправляемому приемнику событий
- 16. Принудительное отношение специфики процессора к неуправляемому вызову DLL от VB.NET
- 17. Доступ к неуправляемому экспорту C# из приложения Delphi
- 18. Определить путь к Gradle Wrapper
- 19. FLASH WRAPPER (УСТАНОВКА WRAPPER)
- 20. добавление ограничений к коду, matlab
- 21. LINQ подход к этому коду
- 22. Пользовательские права доступа к коду
- 23. Добавление указателя Google к коду
- 24. Ember.Binding.transform переход к последнему коду
- 25. Добавление таймера к моему коду
- 26. Безопасность доступа к коду .NET.
- 27. Как вернуться к определенному коду
- 28. Всплывающий доступ к собственному коду
- 29. Остановить возврат к исполняемому коду
- 30. Доступ к удаленному коду Android
Не совсем понял. Вы говорите, что c-классы могут быть pinwoked, но C++ не может? Зачем? –
Я конкретно обратился к этому в своем ответе, 2-й абзац. –