2010-09-29 23 views
2

J'ai utilisé Lua.NET sur la plate-forme .NET et j'ai pu appeler la classe/objet .NET de Lua et j'ai pu appeler l'interface Lua de l'API Lua .NET. J'ai fait de même avec le IronPython. Je connaissais le fonctionnement de la liaison .NET.Liaison Lua ou Python avec C++

Maintenant, j'ai un projet C++ et je veux utiliser les capacités dynamiques. Je veux appeler l'objet C++ qui peut ne pas être possible à partir de Lua, donc j'ai besoin d'appeler une API C qui appelle C++. En attendant, je veux appeler le Lua de C++.

Nous avons des données de configuration qui sont mieux décrites dans le format de table de Lua ou la liste & Dict like in Python. Nous devons énumérer ces structures de données définies dans Lua/Python en C++.

Lorsque vous envisagez Lua à Python en C++ pour l'appel bidirectionnel, est-ce que Python a le dessus avec la bibliothèque Boost Python? Je n'ai pas d'expérience en liaison Python/C++. Je n'ai pas l'expérience d'utiliser Python en C++ et d'appeler Python depuis C++.

Répondre

4

Lors de l'examen Lua à Python en C++ pour deux voies d'appel, est Python ont la main haute avec bibliothèque Python Boost?

Il existe quelques bibliothèques qui simplifient la communication entre C++ et Lua. L'un d'eux, luabind, est inspiré par boost.python et est assez puissant et assez facile à utiliser.

Autres C++ < -> Bibliothèques Lua à considérer: toLua++, SWIG

0

Si vous envisagez d'utiliser simplement Windows, vous pouvez utiliser C++/CLI une variante gérée de C++. Avec C++/CLI, vous pouvez facilement mélanger du code géré et non géré. Vous pouvez appeler les classes gérées de tout langage .net et les non gérés (exportés) fonctions de C.