आप luaL_loadfile
का उपयोग कर सकते हैं, जो डिस्क से फ़ाइल पढ़ने के लिए सी-मानक लाइब्रेरी फ़ंक्शंस का उपयोग करता है और इसे lua_State
में लोड करता है। वैकल्पिक रूप से, आप स्वयं को एक स्ट्रिंग में फ़ाइल लोड कर सकते हैं और इसे का उपयोग lua_State
में लोड करने के लिए कर सकते हैं।
इन कार्यों प्रति the documentation for lua_load
के रूप में वापसी मूल्यों और संकलक त्रुटियों उत्सर्जित करेगा दोनों।
यदि संकलन सफल हुआ, तो lua_State
अब ढेर के शीर्ष पर लूआ फ़ंक्शन के रूप में संकलित लुआ खंड है। संकलित बाइनरी प्राप्त करने के लिए, आपको lua_dump
फ़ंक्शन का उपयोग करना होगा। यह अपेक्षाकृत जटिल है क्योंकि यह आपको डेटा पास करने के लिए कॉलबैक इंटरफ़ेस का उपयोग करता है। the documentation for details देखें।
है कि इस प्रक्रिया के बाद, आप संकलित लुआ बाइट कोड है। अपनी पसंद की एक फ़ाइल में उसे दिखाओ। बस याद रखें: इसे बाइनरी के रूप में लिखें, पाठ अनुवाद के साथ नहीं।
जब बाइट कोड लोड करने का समय आता है, तो आपको केवल से पहले क्या किया गया था। हां तकरीबन। लुआ में यह पता लगाने के लिए हेरिस्टिक्स है कि इसे "स्ट्रिंग" दिया जाता है जो लुआ स्रोत स्ट्रिंग या बाइट कोड है। तो हाँ, आप पहले की तरह luaL_loadfile
के साथ बाइट कोड लोड कर सकते हैं।
अंतर यह है कि आप बाइट कोड के साथ luaL_loadstring
उपयोग नहीं कर सकते है। वह फ़ंक्शन एक पूर्ण-समाप्त स्ट्रिंग की अपेक्षा करता है, जो खराब है। बाइट कोड इसमें न्यूल वर्णों को एम्बेड कर सकता है, जो सबकुछ खराब कर देगा। इसलिए यदि आप फ़ाइल IO स्वयं करना चाहते हैं (क्योंकि आप एक विशेष फाइल सिस्टम या कुछ का उपयोग कर रहे हैं), तो आपको सीधे lua_load
का उपयोग करना होगा। जो lua_dump
जैसे कॉलबैक इंटरफ़ेस का भी उपयोग करता है। तो read up on how to use it।
इच्छा है कि ऐसे कई ध्वनि उत्तर थे! – vines
ग्रेट उत्तर, यह वही है जो मैंने सोचा था कि यह होगा, लेकिन मुझे नहीं पता था कि इसका उपयोग कैसे किया जाए। मैं इसे आज़माउंगा। अब मुझे बताएं, एफएक्यू में या यहां तक कि दस्तावेज़ीकरण में ऐसा कुछ (स्पष्ट और उद्देश्य) डालना कितना मुश्किल है? धन्यवाद! – WoLfulus
@WoLfulus: यदि आप "लुआ लोड बाइटकोड" गुगल करते हैं, तो [बहुत पहले लिंक] (http://csl.sublevel3.org/lua/) आपको वह सब कुछ बताता जो आपको जानने के लिए आवश्यक था। तो मुझे इस पर एक एफएक्यू की आवश्यकता नहीं दिख रही है। और एप्लिकेशन 'luac' पहले से ही बाइट स्क्रिप्ट को बाइटकोड में संकलित कर सकता है, इसलिए आपको इसे करने के लिए प्रोग्राम की भी आवश्यकता नहीं है। तो वास्तव में, एक एफएक्यू की कोई ज़रूरत नहीं है; Google का उचित उपयोग। –