Passar variáveis entre C ++ e Lua via Swig

Estou trabalhando em um projeto C ++ com um grande número de classes (mais de 150), cada uma com 10 a 300 campos. Eu realmente gostaria de poder fornecer uma interface de script para fins de teste, para que eu possa codificar retornos de chamada que não requeiram nenhuma recompilação. Gostaria de fazer isso em Lua, já que estou mais familiarizado com a API C do que com o Python, mas se ele economizar dores de cabeça, ficaria feliz em fazê-lo em Pytho

Eu tenho uma sólida compreensão de como chamar funções Lua do meu C ++ e vice-versa, e sei como passar tipos de dados básicos para frente e para trás. A questão que tenho é como compartilhar tipos de dados especificados pelo usuário entre os dois usando SWIG.

Por exemplo, em algum momento do meu C ++, convém avaliar alguns dados de membros em um objeto que possui 250 campos. Eu gostaria de poder entregar esse objeto para Lua, que poderia (espero?) Usar os wrappers SWIG gerados para manipular esse objeto, exibir determinados campos e depois passar o objeto (potencialmente alterado) de volta ao C ++ para uso contínuo .

ambém gostaria de instanciar uma instância do objeto em Lua usando os wrappers e passá-la para o C ++ para ser usada como uma versão C ++ normal do objet

Isso é possível? Alguém poderia me indicar um tutorial ou um exemplo explícito?

Obrigado por qualquer ajuda que você pode oferecer!

questionAnswers(3)

yourAnswerToTheQuestion