Пример ctypes на IronPython? - PullRequest
       18

Пример ctypes на IronPython?

1 голос
/ 05 февраля 2010

Я пытаюсь понять ctypes, и это связано с IronClad на IronPython. (Предполагается, что Ctypes будет реализован в последней версии IronPython.) Может кто-нибудь привести простой пример использования ctypes в IronPython, который работает в Mono / OSX? При попытке стандартного демо я получаю:

import ctypes
SystemError: libdl.so

Я что-то упускаю из виду?

В более общем смысле, как ctypes относится к проекту IronClad?

1 Ответ

1 голос
/ 05 февраля 2010

Я не знаю ответа на ваш первый вопрос (я не использую Mono - извините), но я могу ответить на ваш общий вопрос.

IronClad - это адаптер, который позволяет существующим модулям расширения CPython, написанным на основе API-интерфейса CPython, беспрепятственно работать на IronPython. Ctypes, с другой стороны, является FFI ( Интерфейс внешних функций ), который позволяет коду Python вызывать собственный код независимым от платформы способом.

До появления ctypes единственным способом доступа к нативному коду из Python было написание расширения CPython, которое было тесно связано с CPython; ctypes удаляет эту связь и позволяет ей работать с любой реализацией Python, которая реализует ctypes. IronClad существует, чтобы позволить всем прежним расширениям продолжать работать на IronPython. Для новых вещей, однако, ctypes - путь.

...