
Gepatchter Lua 5.3-Interpreter, der CVE-2020-24370 adressiert und eine sichere Skriptumgebung für eingebettete Anwendungen und Automatisierung bietet.
dl.display dd { padding-bottom: 0.2em ; }
tt, kbd, code { font-size: 12pt ; }
Willkommen bei Lua 5.3
Lua ist eine leistungsstarke, schnelle, leichtgewichtige, einbettbare Skriptsprache, die von einem Team an der PUC-Rio, der Päpstlichen Katholischen Universität von Rio de Janeiro in Brasilien, entwickelt wird. Lua ist freie Software und wird weltweit in vielen Produkten und Projekten eingesetzt.
Die offizielle Webseite von Lua bietet vollständige Informationen über Lua, darunter eine Kurzfassung und aktualisierte Dokumentation, insbesondere das Referenzhandbuch, das geringfügig von der lokalen Kopie abweichen kann, die in diesem Paket enthalten ist.
Lua wird im Quellcode verteilt. Sie müssen es vor der Verwendung kompilieren. Das Kompilieren von Lua sollte unkompliziert sein, da Lua in reinem ANSI-C implementiert ist und auf allen bekannten Plattformen mit einem ANSI-C-Compiler unverändert kompiliert wird. Lua lässt sich auch unverändert als C++ kompilieren. Die folgenden Anweisungen zum Kompilieren von Lua gelten für Unix-ähnliche Plattformen. Siehe auch Anleitungen für andere Systeme und Anpassungsmöglichkeiten.
Wenn Sie keine Zeit oder Lust haben, Lua selbst zu kompilieren, holen Sie sich ein Binärpaket von LuaBinaries. Probieren Sie auch LuaDist, eine plattformübergreifende Distribution von Lua, die zusätzliche Pakete enthält.
Auf den meisten Unix-ähnlichen Plattformen genügt der Befehl "make" mit einem geeigneten Ziel. Hier die Details.
aix bsd c89 freebsd generic linux macosx mingw posix solaris
Wenn Ihre Plattform aufgelistet ist, führen Sie einfach "make xxx" aus, wobei xxx der Name Ihrer Plattform ist.
Wenn Ihre Plattform nicht aufgelistet ist, versuchen Sie in dieser Reihenfolge die nächstgelegene oder posix, generic, c89.
Wenn Sie Linux verwenden und Kompilierungsfehler auftreten, stellen Sie sicher, dass Sie das Entwicklungspaket readline installiert haben (wahrscheinlich libreadline-dev oder readline-devel). Wenn danach Linkfehler auftreten, versuchen Sie "make linux MYLIBS=-ltermcap".
Sobald Sie Lua erstellt haben, möchten Sie es möglicherweise an einem offiziellen Ort in Ihrem System installieren. Führen Sie in diesem Fall "make install" aus. Der offizielle Ort und die Art der Installation der Dateien sind in der Makefile festgelegt. Sie benötigen wahrscheinlich die entsprechenden Berechtigungen, um Dateien zu installieren.
Um Lua in einem Schritt zu erstellen und zu installieren, führen Sie "make xxx install" aus, wobei xxx der Name Ihrer Plattform ist.
Um Lua lokal zu installieren, führen Sie "make local" aus. Dies erzeugt ein Verzeichnis install mit den Unterverzeichnissen bin, include, lib, man, share und installiert Lua wie unten aufgeführt.
Um Lua lokal, aber in einem anderen Verzeichnis zu installieren, führen Sie "make install INSTALL_TOP=xxx" aus, wobei xxx Ihr gewähltes Verzeichnis ist. Die Installation beginnt in den Verzeichnissen src und doc, seien Sie also vorsichtig, wenn INSTALL_TOP kein absoluter Pfad ist.
Dies sind die einzigen Verzeichnisse, die Sie für die Entwicklung benötigen. Wenn Sie nur Lua-Programme ausführen möchten, benötigen Sie nur die Dateien in bin und man. Die Dateien in include und lib werden benötigt, um Lua in C- oder C++-Programme einzubetten.
Drei Arten von Dingen können durch Bearbeiten einer Datei angepasst werden:
Sie müssen die Makefiles nicht unbedingt bearbeiten, da Sie die relevanten Variablen in der Befehlszeile beim Aufruf von make setzen können. Dennoch ist es wahrscheinlich am besten, die Makefiles zu bearbeiten und zu speichern, um die von Ihnen vorgenommenen Änderungen festzuhalten.
Wenn Sie hingegen einige Lua-Funktionen anpassen müssen, müssen Sie src/luaconf.h vor dem Erstellen und Installieren von Lua bearbeiten. Die bearbeitete Datei wird installiert und von allen von Ihnen erstellten Lua-Clients verwendet, um Konsistenz zu gewährleisten. Experten können durch Bearbeiten der Lua-Quellen weitere Anpassungen vornehmen.
Wenn Sie nicht die üblichen Unix-Werkzeuge verwenden, hängen die Anweisungen zum Erstellen von Lua von dem von Ihnen verwendeten Compiler ab. Sie müssen Projekte (oder was auch immer Ihr Compiler verwendet) zum Erstellen der Bibliothek, des Interpreters und des Compilers erstellen, wie folgt:
Um Lua als Bibliothek in Ihren eigenen Programmen zu verwenden, müssen Sie wissen, wie Sie mit Ihrem Compiler Bibliotheken erstellen und verwenden. Um C-Bibliotheken dynamisch für Lua zu laden, müssen Sie außerdem wissen, wie Sie dynamische Bibliotheken erstellen, und sicherstellen, dass die Lua-API-Funktionen für diese dynamischen Bibliotheken zugänglich sind — aber verlinken Sie die Lua-Bibliothek nicht in jede dynamische Bibliothek. Für Unix empfehlen wir, die Lua-Bibliothek statisch in das Host-Programm einzubinden und ihre Symbole für dynamisches Linking zu exportieren; src/Makefile erledigt dies für den Lua-Interpreter. Für Windows empfehlen wir, die Lua-Bibliothek als DLL zu verwenden. In allen Fällen sollte der Compiler luac statisch gelinkt werden.
Wie bereits erwähnt, können Sie src/luaconf.h bearbeiten, um einige Funktionen vor dem Erstellen von Lua anzupassen.
Hier sind die wichtigsten Änderungen in Lua 5.3. Das Referenzhandbuch listet die Inkompatibilitäten auf, die eingeführt werden mussten.
Hier sind die weiteren Änderungen in Lua 5.3:
ipairs und die Tabellenbibliothek respektieren Metamethoden
strip in string.dump
table.move
string.pack
string.unpack
string.packsize
lua_gettable und ähnliche Funktionen geben den Typ des resultierenden Werts zurück
strip in lua_dump
lua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
arg-Tabelle ist für allen Code verfügbar
Lua ist freie Software, die unter den Bedingungen der
MIT-Lizenz
untenstehend verbreitet wird;
sie kann für jeden Zweck, einschließlich kommerzieller Zwecke,
völlig kostenlos genutzt werden, ohne dass Sie uns um Erlaubnis fragen müssen.
Die einzige Anforderung ist, dass Sie uns, wenn Sie Lua verwenden, Anerkennung zollen, indem Sie einen entsprechenden Copyright-Vermerk irgendwo in Ihrem Produkt oder dessen Dokumentation anbringen.
Einzelheiten finden Sie unter diesem Link.
Copyright © 1994–2017 Lua.org, PUC-Rio.Hiermit wird unentgeltlich jeder Person, die eine Kopie der Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Ausnahme der Rechte zur Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software bereitgestellt wird, dies unter den folgenden Bedingungen zu gestatten:
Der obige Copyright-Vermerk und dieser Erlaubnishinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD "WIE BESEHEN" OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER STILLSCHWEIGEND, BEREITGESTELLT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG VON RECHTEN. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHTINHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE VERPFLICHTUNGEN, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN MIT DER SOFTWARE ENTSTEHEN.
Letzte Aktualisierung: Mon Jun 18 22:57:33 -03 2018