Como usar LuaJIT da mesma forma que Lua em um programa C ++?


9

Estou usando Lua no meu programa C ++ , como uma biblioteca. Mas eu li que LuaJIT é uma implementação melhor.

É possível substituir com LuaJIT com poucas mudanças? Quão?


4
Apenas substitua os arquivos de origem se estiver compilando a partir da fonte ou a DLL se estiver usando o pré-compilado. LuaJIT deve ser um substituto para o estoque lua, portanto, ele deve funcionar apenas substituindo-o.
Panda Pyjama

4
@PandaPajama que provavelmente deve ser uma resposta, não um comentário #
ashes999

Não é tão simples no Mac OS X
finnw

Aqui está uma discussão por e-mail relevante sobre os prós / contras de várias implementações de Lua.
Anko

Respostas:


5

Apenas substitua os arquivos de origem se estiver compilando a partir da fonte ou a DLL se estiver usando o pré-compilado (preferencial).

De acordo com o Guia de Instalação :

LuaJIT é compatível com API com Lua 5.1. Se você já incorporou Lua em seu aplicativo, provavelmente não precisará fazer nada para mudar para LuaJIT, exceto o link com uma biblioteca diferente:

LuaJIT deve ser um substituto para o estoque lua, portanto, ele deve funcionar apenas substituindo-o


2

Como o comentário do Panda Pajama sugere. É fácil uma substituição imediata.

  • Alterar o caminho de inclusão para obter o arquivo luaJIT lua.hpp
  • Faça o downgrade do código da API Lua 5.2 para a API Lua 5.1.
  • Vinculado à biblioteca LuaJIT em vez da biblioteca lua

A pior parte foi o downgrade para 5.1, especialmente a carga de módulos de função próprios no estado lua.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.