¿Cómo usar LuaJIT igual que Lua en un programa C ++?

9

Estoy usando Lua en mi programa C ++ , como una biblioteca. Pero leí que LuaJIT es una mejor implementación.

¿Es posible reemplazar con LuaJIT con pocos cambios? ¿Cómo?

Zhen
fuente
44
Simplemente reemplace los archivos fuente si está compilando desde la fuente, o la DLL si está usando el precompilado. LuaJIT está destinado a ser un reemplazo directo para el stock lua, por lo que debería funcionar simplemente reemplazándolo.
Panda Pyjama
44
@PandaPajama que probablemente debería ser una respuesta, no un comentario
cenizas999
No es tan simple en Mac OS X
2013
Aquí hay una discusión relevante por correo electrónico sobre los pros / contras de varias implementaciones de Lua.
Anko

Respuestas:

5

Simplemente reemplace los archivos fuente si está compilando desde la fuente, o la DLL si está usando el precompilado (preferido).

Por la guía de instalación :

LuaJIT es compatible con API con Lua 5.1. Si ya ha incrustado Lua en su aplicación, probablemente no necesite hacer nada para cambiar a LuaJIT, excepto el enlace con una biblioteca diferente:

LuaJIT está destinado a ser un reemplazo directo para el stock lua, por lo que debería funcionar simplemente reemplazándolo

Pijama Panda
fuente
2

Como sugiere el comentario de Panda Pyjama . Es fácil un reemplazo directo.

  • Cambie la ruta de inclusión para obtener el archivo LuaJIT lua.hpp
  • Código de degradación de Lua 5.2 API a Lua 5.1 API.
  • Vinculado con la biblioteca LuaJIT en lugar de la biblioteca lua

La peor parte fue la degradación a 5.1, especialmente la carga de módulos de funciones propias en el estado lua.

Zhen
fuente