Lua или Python связывание с C ++ - PullRequest
2 голосов
/ 29 сентября 2010

Я использовал Lua.NET на платформе .NET, и я мог вызывать класс / объект .NET из Lua, и я мог вызывать Lua из интерфейса API .NET Lua. Я сделал то же самое с IronPython. Я знал, как работает привязка .NET.

Теперь у меня есть проект на C ++, и я хочу использовать динамические возможности. Я хочу вызвать объект C ++, который может быть невозможен из Lua, поэтому мне может потребоваться вызвать некоторый C API, который делает вызов C ++. А пока хочу позвонить в Lua из C ++.

У нас есть данные конфигурации, которые лучше всего описать в виде таблицы в формате Lua или List & Dict в Python. Нам нужно перечислить эти структуры данных, определенные в Lua / Python в C ++.

При рассмотрении Lua для Python в C ++ для двухстороннего вызова, есть ли у Python превосходство над библиотекой Boost Python? У меня нет опыта связывания Python / C ++. У меня нет одинакового опыта использования Python в C ++ и вызова Python из C ++.

Ответы [ 2 ]

4 голосов
/ 29 сентября 2010

При рассмотрении Lua для Python в C ++ для двухстороннего вызова, имеет ли Python преимущество над библиотекой Boost Python?

Есть несколько библиотек, которые упрощают связь между C ++ и Lua,Один из них, luabind , создан на основе boost.python и является довольно мощным и довольно простым в использовании.

Другие C ++ <-> библиотеки Lua для рассмотрения: toLua ++ , SWIG

0 голосов
/ 29 сентября 2010

Если вы планируете просто использовать Windows, вы можете использовать C ++ / CLI - управляемый вариант C ++.С C ++ / CLI вы можете легко смешивать управляемый и неуправляемый код.Вы можете вызывать управляемые классы из любого языка .net и неуправляемые (экспортируемые) функции из C.

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