
CVE-2020-24370 को संबोधित करने वाला पैच्ड Lua 5.3 इंटरप्रेटर, एम्बेडेड अनुप्रयोगों और स्वचालन के लिए एक सुरक्षित स्क्रिप्टिंग वातावरण प्रदान करता है।
dl.display dd { padding-bottom: 0.2em ; }
tt, kbd, code { font-size: 12pt ; }
Lua 5.3 में आपका स्वागत है
Lua एक शक्तिशाली, तेज़, हल्का, एम्बेडेबल स्क्रिप्टिंग भाषा है जिसे एक टीम द्वारा PUC-Rio, ब्राज़ील के रियो डी जनेरियो में पोंटिफ़िकल कैथोलिक विश्वविद्यालय में विकसित किया गया है। Lua मुफ्त सॉफ्टवेयर है जिसका उपयोग दुनिया भर के कई उत्पादों और परियोजनाओं में किया जाता है।
Lua की आधिकारिक वेब साइट Lua के बारे में पूरी जानकारी प्रदान करती है, जिसमें एक कार्यकारी सारांश और अद्यतन दस्तावेज़ीकरण शामिल है, विशेषकर संदर्भ मैनुअल, जो इस पैकेज में वितरित स्थानीय प्रति से थोड़ा भिन्न हो सकता है।
Lua को स्रोत रूप में वितरित किया जाता है। इसे उपयोग करने से पहले आपको इसे बनाना होगा। Lua बनाना सीधा होना चाहिए क्योंकि Lua शुद्ध ANSI C में कार्यान्वित है और सभी ज्ञात प्लेटफ़ॉर्म पर जिनमें ANSI C कंपाइलर है, बिना संशोधन के संकलित होता है। Lua बिना संशोधन के C++ के रूप में भी संकलित होता है। Lua बनाने के लिए नीचे दिए गए निर्देश Unix-जैसे प्लेटफ़ॉर्म के लिए हैं। यह भी देखें अन्य प्रणालियों के लिए निर्देश और अनुकूलन विकल्प।
यदि आपके पास Lua को स्वयं संकलित करने का समय या इच्छा नहीं है, तो LuaBinaries से एक बाइनरी प्राप्त करें। LuaDist भी आज़माएं, जो बैटरी सहित Lua का एक बहु-प्लेटफ़ॉर्म वितरण है।
अधिकांश Unix-जैसे प्लेटफ़ॉर्म पर, बस उपयुक्त लक्ष्य के साथ "make" करें। यहाँ विवरण दिया गया है।
aix bsd c89 freebsd generic linux macosx mingw posix solaris
यदि आपका प्लेटफ़ॉर्म सूचीबद्ध है, तो बस "make xxx" करें, जहां xxx आपके प्लेटफ़ॉर्म का नाम है।
यदि आपका प्लेटफ़ॉर्म सूचीबद्ध नहीं है, तो निकटतम या posix, generic, c89 को इसी क्रम में आज़माएं।
यदि आप Linux चला रहे हैं और संकलन त्रुटियाँ मिलती हैं, तो सुनिश्चित करें कि आपने readline विकास पैकेज स्थापित किया है (जिसका नाम संभवतः libreadline-dev या readline-devel है)। यदि उसके बाद लिंक त्रुटियाँ मिलती हैं, तो "make linux MYLIBS=-ltermcap" आज़माएं।
एक बार जब आप Lua बना लेते हैं, तो आप इसे अपने सिस्टम में एक आधिकारिक स्थान पर स्थापित करना चाह सकते हैं। इस स्थिति में, "make install" करें। आधिकारिक स्थान और फ़ाइलों को स्थापित करने का तरीका Makefile में परिभाषित किया गया है। आपको संभवतः फ़ाइलों को स्थापित करने के लिए उचित अनुमतियों की आवश्यकता होगी।
एक चरण में Lua बनाने और स्थापित करने के लिए, "make xxx install" करें, जहां xxx आपके प्लेटफ़ॉर्म का नाम है।
Lua को स्थानीय रूप से स्थापित करने के लिए, "make local" करें। यह एक निर्देशिका install बनाएगा जिसमें उपनिर्देशिकाएं होंगी bin, include, lib, man, share, और नीचे सूचीबद्ध अनुसार Lua स्थापित करेगा।
Lua को स्थानीय रूप से स्थापित करने के लिए, लेकिन किसी अन्य निर्देशिका में, करें "make install INSTALL_TOP=xxx", जहां xxx आपकी चुनी हुई निर्देशिका है। स्थापना src और doc निर्देशिकाओं से शुरू होती है, इसलिए सावधान रहें यदि INSTALL_TOP कोई पूर्ण पथ नहीं है।
ये केवल वे निर्देशिकाएँ हैं जिनकी आपको विकास के लिए आवश्यकता है। यदि आप केवल Lua प्रोग्राम चलाना चाहते हैं, तो आपको केवल bin और man में फ़ाइलों की आवश्यकता है। include और lib में फ़ाइलें C या C++ प्रोग्रामों में Lua को एम्बेड करने के लिए आवश्यक हैं।
एक फ़ाइल को संपादित करके तीन प्रकार की चीजों को अनुकूलित किया जा सकता है:
आपको वास्तव में Makefiles को संपादित करने की आवश्यकता नहीं है क्योंकि आप make को आमंत्रित करते समय कमांड लाइन पर प्रासंगिक चर सेट कर सकते हैं। फिर भी, शायद आपके द्वारा किए गए परिवर्तनों को रिकॉर्ड करने के लिए Makefiles को संपादित और सहेजना सबसे अच्छा है।
दूसरी ओर, यदि आपको कुछ Lua सुविधाओं को अनुकूलित करने की आवश्यकता है, तो आपको Lua बनाने और स्थापित करने से पहले src/luaconf.h संपादित करना होगा। संपादित फ़ाइल वही होगी जो स्थापित होगी, और इसका उपयोग आपके द्वारा बनाए गए किसी भी Lua क्लाइंट द्वारा किया जाएगा, ताकि संगति सुनिश्चित हो सके। विशेषज्ञों के लिए Lua स्रोतों को संपादित करके आगे अनुकूलन उपलब्ध है।
यदि आप सामान्य Unix टूल का उपयोग नहीं कर रहे हैं, तो Lua बनाने के निर्देश आपके द्वारा उपयोग किए जाने वाले कंपाइलर पर निर्भर करते हैं। आपको लाइब्रेरी, इंटरप्रेटर और कंपाइलर बनाने के लिए प्रोजेक्ट (या जो भी आपका कंपाइलर उपयोग करता है) बनाने की आवश्यकता होगी, इस प्रकार:
अपने स्वयं के प्रोग्रामों में Lua को एक लाइब्रेरी के रूप में उपयोग करने के लिए आपको यह जानना होगा कि अपने कंपाइलर के साथ लाइब्रेरी कैसे बनाएं और उपयोग करें। इसके अलावा, Lua के लिए C लाइब्रेरीज़ को गतिशील रूप से लोड करने के लिए आपको यह जानना होगा कि गतिशील लाइब्रेरी कैसे बनाएं और आपको यह सुनिश्चित करना होगा कि Lua API फ़ंक्शन उन गतिशील लाइब्रेरीज़ के लिए सुलभ हों — लेकिन Lua लाइब्रेरी को प्रत्येक गतिशील लाइब्रेरी में लिंक न करें। Unix के लिए, हम अनुशंसा करते हैं कि Lua लाइब्रेरी को होस्ट प्रोग्राम में स्थिर रूप से लिंक किया जाए और गतिशील लिंकिंग के लिए इसके प्रतीकों को निर्यात किया जाए; src/Makefile Lua इंटरप्रेटर के लिए ऐसा करता है। Windows के लिए, हम अनुशंसा करते हैं कि Lua लाइब्रेरी एक DLL हो। सभी मामलों में, कंपाइलर luac को स्थिर रूप से लिंक किया जाना चाहिए।
जैसा कि ऊपर उल्लेख किया गया है, आप Lua बनाने से पहले कुछ सुविधाओं को अनुकूलित करने के लिए src/luaconf.h संपादित कर सकते हैं।
यहाँ Lua 5.3 में शुरू किए गए मुख्य परिवर्तन हैं। संदर्भ मैनुअल उन असंगतियों को सूचीबद्ध करता है जिन्हें प्रस्तुत करना पड़ा।
यहाँ Lua 5.3 में शुरू किए गए अन्य परिवर्तन हैं:
ipairs और तालिका लाइब्रेरी मेटामेथड का सम्मान करते हैं
string.dump में स्ट्रिप विकल्प
table.move
string.pack
string.unpack
string.packsize
lua_gettable और समान फ़ंक्शन परिणामी मान का प्रकार लौटाते हैं
lua_dump में स्ट्रिप विकल्प
lua_geti
lua_seti
lua_isyieldable
lua_numbertointeger
lua_rotate
lua_stringtonumber
arg तालिका उपलब्ध
Lua मुफ्त सॉफ्टवेयर है जो नीचे पुनरुत्पादित
MIT लाइसेंस
की शर्तों के तहत वितरित किया गया है;
इसका उपयोग किसी भी उद्देश्य के लिए किया जा सकता है, जिसमें वाणिज्यिक उद्देश्य भी शामिल हैं,
बिना किसी लागत के और हमसे पूछे बिना।
एकमात्र आवश्यकता यह है कि यदि आप Lua का उपयोग करते हैं, तो आपको अपने उत्पाद या उसके दस्तावेज़ीकरण में कहीं उपयुक्त कॉपीराइट नोटिस शामिल करके हमें श्रेय देना चाहिए।
विवरण के लिए, देखें यह।
कॉपीराइट © 1994–2017 Lua.org, PUC-Rio।इसके द्वारा, किसी भी व्यक्ति को जो इस सॉफ्टवेयर और संबंधित दस्तावेज़ीकरण फ़ाइलों ("सॉफ्टवेयर") की एक प्रति प्राप्त करता है, बिना किसी शुल्क के, सॉफ्टवेयर में व्यवहार करने की अनुमति दी जाती है, बिना किसी प्रतिबंध के, जिसमें बिना सीमा के सॉफ्टवेयर की प्रतियों का उपयोग, प्रतिलिपि, संशोधन, विलय, प्रकाशन, वितरण, उपलाइसेंस और/या बेचने के अधिकार शामिल हैं, और उन व्यक्तियों को ऐसा करने की अनुमति देने के लिए जिन्हें सॉफ्टवेयर प्रदान किया जाता है, निम्नलिखित शर्तों के अधीन:
उपरोक्त कॉपीराइट नोटिस और यह अनुमति नोटिस सॉफ्टवेयर की सभी प्रतियों या महत्वपूर्ण भागों में शामिल किया जाएगा।
सॉफ्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी के, स्पष्ट या निहित, जिसमें बिना सीमा के व्यापारिकता, किसी विशेष उद्देश्य के लिए उपयुक्तता और उल्लंघन न होने की वारंटी शामिल है। किसी भी स्थिति में लेखक या कॉपीराइट धारक किसी भी दावे, क्षति या अन्य दायित्व के लिए उत्तरदायी नहीं होंगे, चाहे वह अनुबंध की कार्रवाई, अपकृत्य या अन्यथा से उत्पन्न हो, सॉफ्टवेयर से या उसके उपयोग या अन्य लेन-देन से संबंधित हो।
अंतिम अद्यतन: Mon Jun 18 22:57:33 -03 2018