Как я могу использовать библиотеки Python в C ++? - PullRequest
9 голосов
/ 18 ноября 2008

Я хочу использовать библиотеки nltk в c ++.

Есть ли клейкий язык / механизм, который я могу использовать для этого?

Причина: Некоторое время я не занимался серьезным программированием на c ++ и хочу пересмотреть концепции NLP одновременно.

Спасибо

Ответы [ 4 ]

15 голосов
/ 18 ноября 2008

Хотя вызов библиотек c ++ из python более нормален - вы можете вызвать модуль python из c ++, просто вызвав интерпретатор python и заставить его выполнить исходный код python. Это называется embedding

В качестве альтернативы библиотека boost.python делает это очень простым.

12 голосов
/ 18 ноября 2008

Вы также можете попробовать библиотеку Boost.Python ; у которого эта способность . Эта библиотека в основном используется для представления C ++ для Python, но может использоваться и наоборот.

1 голос
/ 18 ноября 2008

Pyrex может быть чисто использован для этой цели. В выпуске исходного кода есть пример .

1 голос
/ 18 ноября 2008

Я не пробовал напрямую вызывать функции Python из C ++, но вот несколько альтернативных идей ...

Как правило, код на C ++ проще вызывать из языка высокого уровня, такого как Python, чем наоборот. Если вам интересен этот подход, то вы можете создать кодовую базу C ++ и получить к ней доступ из Python. Вы можете либо напрямую использовать внешний API, предоставляемый python [он должен быть описан где-то в документации по Python], либо использовать такой инструмент, как SWIG, для автоматизации процесса переноса C ++ в Python.

В зависимости от того, как вы хотите использовать библиотеку, вы можете альтернативно создавать скрипты Python, которые вы вызываете из C ++ с функциями exec *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...