Запись привязки и оберток

Я продолжаю видеть, что люди пишут обертки для, говорю модуль, записанный на X языках для использования его на языке Y. Я хотел знать основы записи таких оберток. Где каждый запускает с? Мой вопрос здесь более специфичен для libgnokii, как я начинаю писать привязку Python для него.

7
задан tsudot 15 July 2010 в 19:07
поделиться

2 ответа

Вы можете начать с чтения этого: расширение python с помощью c или c++ А затем, когда вы решите, что это слишком хлопотно, вы можете проверить swig или, возможно, Boost.Python. ctypes также может быть полезен.

Я делал ручную обертку классов c++ и использовал swig. swig был намного проще в использовании, но в конце концов я хотел сделать то, что было нелегко сделать (или мне просто было лень разбираться как). В итоге я сделал ручную обмотку. Это небольшая работа, но если вы знаете немного C, это вполне выполнимо.

7
ответ дан 7 December 2019 в 03:10
поделиться

Вы можете начать с поиска здесь информации о расширении Python с помощью C. Возможно, вы захотите подумать о том, как преобразовать API libgnokii во что-то Pythonic, пока вы на него. Если вы не хотите выполнять много работы, вы можете просто написать тонкую оболочку, которая переводит все вызовы API gnokii в функции Python.

2
ответ дан 7 December 2019 в 03:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: