मुझे this gist बहुत उपयोगी होने के लिए मिला।
- (LLVM और बजना 5.0.0 या
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly
के साथ ऊपर का निर्माण)
बजना साथ LLVM bitcode को सीपीपी soure संकलित करें:
clang -emit-llvm --target=wasm32 -Oz math.cpp -c -o math.bc
असल में, इस कदम हैं
एस-असेंबली में बिटकोड संकलित करें:
:llc -asm-verbose=false -o math.s math.bc
उपयोग binaryen शाब्दिक द्विआधारी .wasm में .wast फ़ाइल का अनुवाद करने में रों wast2wasm उपकरण के s2wasm एक .wast फ़ाइल
s2wasm math.s > math.wast
उपयोग WABT बनाने के लिए उपकरण '
wast2wasm -o math.wasm math.wast
कुछ कदम अनावश्यक महसूस करते हैं लेकिन मुझे अभी तक कोई टूल नहीं मिला है जो शॉर्टकट को अनुमति देता है। (यह अच्छा होगा अगर llc सीधे .wasm को संकलित कर सकता है, या यदि s2wasm वास्तव में बाइनरी .wasm फ़ाइलों को नाम के रूप में दिखाता है।) वैसे भी, एक बार जब आप टूलचैन चलाते हैं तो यह अपेक्षाकृत दर्द रहित होता है। नोट, हालांकि, वेब असेंबली के लिए अभी तक कोई सी या सी ++ मानक पुस्तकालय नहीं हैं।
वैकल्पिक रूप से, अगर आपको सामान की कोशिश करने के लिए .wasm फ़ाइल की आवश्यकता है तो आप सभी टूलचैन परेशानी के बिना दूर हो सकते हैं। https://mbebenita.github.io/WasmExplorer/, paste in your C/C++ code पर ब्राउज़ करें, और संकलित .wasm फ़ाइल डाउनलोड करें।
हमें बताएं कि क्या आप इसे प्रबंधित कर सकते हैं, क्योंकि इसमें कई कदम शामिल हैं, और उन्हें सभी की आवश्यकता है बहुत सारे बड़े डाउनलोड और विन्यास। वेब असेंबली वास्तव में रोमांचक लगता है लेकिन मैं यह नहीं कह सकता कि मैं रोमांचित हूं जब मैं कोशिश करने में हर समय गिनता हूं और थोड़ा आगे नहीं बढ़ता। मैं अब इसके बारे में बहुत उत्साहित नहीं हूं। – jokoon