Обязательное программное обеспечение - PullRequest
0 голосов
/ 19 апреля 2011

Существует ли программное обеспечение для языковых привязок, кроме SWIG. Кроме того, что является наиболее эффективным? Я ищу эффективность для привязки C ++ к Python.

Ответы [ 2 ]

1 голос
/ 09 февраля 2013

Существует 6 (основных) альтернатив, когда речь идет о связывании C ++ и Python:

  1. SWIG - как вы уже знаете
  2. Boost.Python - таков был совет lefticus
  3. Cython - очень аккуратный синтаксис, близкий к Python
  4. SIP - не очень распространен, но он есть
  5. PyBindGen - утверждает, что самый быстрый
  6. ECS: Python - новый материал

Что касается эффективности, я полагаю, что это будет зависеть от задачи. Если вы немного посмотрите по сети, вы увидите ориентиры. Люди PyBindGen на самом деле очень гордятся своей системой. Возможно, вы захотите посмотреть туда.

В частности, у меня есть опыт работы с Boost.Python - легко изучать простые задачи, немного сложнее делать сложные вещи. Обычно генерирует код, который не является самым быстрым с точки зрения затрат на вызов функции, но работает прекрасно. Этот очень зрелый.

0 голосов
/ 20 апреля 2011

Я не могу говорить об эффективности, но единственный другой инструмент привязки C ++ к Python, который мне известен, это boost :: python .

...