Cualquier persona con experiencia en la incorporación de CINT en una aplicación C ++?

StackOverflow https://stackoverflow.com/questions/3114949

  •  29-09-2019
  •  | 
  •  

Pregunta

Estoy hablando de de RAÍZ CINT .

he estado desarrollando un juego en C ++ que emplea la programación Python para la IA. Por mucho que me gusta Python, y lo fácil que hace que la programación de la AI (generadores y FP son muy sexy), que hace algoritmos no triviales corren de modo lento.

Entonces recordé leí en alguna parte sobre CINT, y cómo puede ser embedable. Ahora necesito su ayuda para decidir si aplicar CINT como un sistema de scripting alternativo. Con el uso de Python que Boost :: Python, cosa que hace que sea casi unpainfull para exponer clases y objetos una vez que se acostumbre a ella . ¿Existe tal facilidad con la CINT?

Gracias.

¿Fue útil?

Solución

He escrito clases compiladas contra la raíz y, a continuación, acceder directamente a ellos en el intérprete. Eso es fácil, aunque se espera que todas estas clases que se derivan de TObject. Lo que no sé es si eso es un requisito cint o un requisito de la raíz. usted podría ser mejor fuera de preguntar sobre la RootTalk CINT Soporte foro


Para hacer frente a las preguntas en los comentarios:

  • La derivación de TObject puede ser usado:. Las clases se pueden derivar de algo derivado de TObject, sólo tiene que ser a TObject
  • Raíz proporciona una herramienta (makecint) y algunas macros (ClassDef y ClassImp) para apoyar la integración de su código con el entorno de ejecución interpretado: escribir sus clas derivadas desde TObject; incluir la macro ClassDef en la cabecera y la macro ClassImp en el archivo de fuente; makecint ejecutar el código para generar toda la nonesense integración tedioso, a continuación, compilar el código y el código generado en un objeto compartido (o, supongo, una DLL en una máquina Windows); iniciar el intérprete; cargar la biblioteca con .L; y la clase está totalmente integrado con el entorno interpretado (tabulador va a funcionar y todo eso). La acumulación se puede automatizar con make (y otras herramientas presumibles). ## Una vez más, ## No sé cuánto de esto pertenece a la raíz y la cantidad de cint. Pero todo es de código abierto, por lo que puede enganchar y adaptar lo que necesita.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top