WebAssembly - Validación
En este capítulo, vamos a discutir la función webassembly.validate () que validará la salida .wasm. El .wasm está disponible cuando compilamos código C, C ++ o rust.
Puede utilizar las siguientes herramientas para obtener el código wasm.
Wasm Fiddler, que está disponible en https://wasdk.github.io/WasmFiddle/
WebAssembly Explorer, que está disponible en https://mbebenita.github.io/WasmExplorer/.
Sintaxis
La sintaxis es la siguiente:
WebAssembly.validate(bufferSource);
Parámetros
bufferSource- El bufferSource tiene el código binario que proviene del programa C, C ++ o Rust. Tiene la forma de typedarray o ArrayBuffer.
Valor devuelto
La función devolverá verdadero si el código .wasm es válido y falso si no.
Probemos con un ejemplo. Vaya a Wasm Fiddler , que está disponible enhttps://wasdk.github.io/WasmFiddle/, ingrese el código C de su elección y presione el código wasm.
El bloque marcado en rojo es el código C. Haga clic en el botón Construir en el centro para ejecutar el código.
Haga clic en el botón Wasm para descargar el código .wasm. Guarde el .wasm al final y permítanos usar el mismo para validar.
Ejemplo
Por ejemplo: 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>
He alojado el archivo .html anterior en el servidor wamp junto con el archivo .wasm de descarga. Aquí está el resultado cuando lo prueba en el navegador.
Salida
La salida es la que se menciona a continuación: