WebAssembly - Validierung
In diesem Kapitel werden wir die Funktion webassembly.validate () diskutieren, mit der die .wasm-Ausgabe überprüft wird. Die .wasm ist verfügbar, wenn wir C-, C ++ - oder Rostcode kompilieren.
Sie können die folgenden Tools verwenden, um den Wasm-Code abzurufen.
Wasm Fiddler, erhältlich bei https://wasdk.github.io/WasmFiddle/
WebAssembly Explorer, verfügbar unter https://mbebenita.github.io/WasmExplorer/.
Syntax
Die Syntax ist wie folgt -
WebAssembly.validate(bufferSource);
Parameter
bufferSource- Die bufferSource enthält den Binärcode, der entweder aus dem Programm C, C ++ oder Rust stammt. Es liegt in Form von typedarray oder ArrayBuffer vor.
Rückgabewert
Die Funktion gibt true zurück, wenn der .wasm-Code gültig ist, und false, wenn nicht.
Versuchen wir ein Beispiel. Gehen Sie zu Wasm Fiddler , das unter erhältlich isthttps://wasdk.github.io/WasmFiddle/, Geben Sie den C-Code Ihrer Wahl und den Wasm-Code ein.
Der rot markierte Block ist der C-Code. Klicken Sie in der Mitte auf die Schaltfläche Erstellen, um den Code auszuführen.
Klicken Sie auf die Schaltfläche Wasm, um den .wasm-Code herunterzuladen. Speichern Sie den .wasm an Ihrem Ende und lassen Sie ihn zur Validierung verwenden.
Beispiel
Zum Beispiel: validate.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Testing WASM validate()</title>
</head>
<body>
<script>
fetch('program.wasm').then(res => res.arrayBuffer() ).then(function(testbytes) {
var valid = WebAssembly.validate(testbytes);
if (valid) {
console.log("Valid Wasm Bytes!");
} else {
console.log("Invalid Wasm Code!");
}
});
</script>
</body>
</html>
Ich habe die obige .html-Datei zusammen mit der .wasm-Download-Datei auf dem Wamp-Server gehostet. Hier ist die Ausgabe, wenn Sie es im Browser testen.
Ausgabe
Die Ausgabe ist die unten erwähnte -