Wie verwende ich LuaJIT genauso wie Lua in einem C ++ - Programm?

9

Ich verwende Lua in meinem C ++ - Programm als Bibliothek. Aber ich habe gelesen, dass LuaJIT eine bessere Implementierung ist.

Ist es möglich, mit wenig Veränderung durch LuaJIT zu ersetzen ? Wie?

Zhen
quelle
4
Ersetzen Sie einfach die Quelldateien, wenn Sie aus dem Quellcode kompilieren, oder die DLL, wenn Sie die vorkompilierte verwenden. LuaJIT ist als Ersatz für Stock Lua gedacht, daher sollte es nur durch Ersetzen funktionieren.
Panda Pyjama
4
@ PandaPajama, das sollte wahrscheinlich eine Antwort sein, kein Kommentar
ashes999
Es ist nicht so einfach unter Mac OS X
Finnw
Hier ist eine relevante E-Mail-Diskussion über die Vor- und Nachteile verschiedener Lua-Implementierungen.
Anko

Antworten:

5

Ersetzen Sie einfach die Quelldateien, wenn Sie aus dem Quellcode kompilieren, oder die DLL, wenn Sie die vorkompilierte (bevorzugte) verwenden.

Per die Installationsanleitung :

LuaJIT ist API-kompatibel mit Lua 5.1. Wenn Sie Lua bereits in Ihre Anwendung eingebettet haben, müssen Sie wahrscheinlich nichts tun, um zu LuaJIT zu wechseln, außer eine Verknüpfung mit einer anderen Bibliothek:

LuaJIT ist als Ersatz für Stock Lua gedacht, daher sollte es nur durch Ersetzen funktionieren

Panda Pyjama
quelle
2

Als Panda Pyjama Kommentar vorschlagen. Es ist einfach, einen Ersatz zu finden.

  • Ändern Sie den Include-Pfad, um die Datei LuaJIT lua.hpp abzurufen
  • Downgrade des Codes von der Lua 5.2-API auf die Lua 5.1-API.
  • Verknüpft mit der LuaJIT-Bibliothek anstelle der Lua-Bibliothek

Das Schlimmste war das Downgrade auf 5.1, insbesondere die Auslastung eigener Funktionsbausteine ​​im Staat Lua.

Zhen
quelle