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.

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: