WebAssembly - Validation

Dans ce chapitre, nous allons discuter de la fonction webassembly.validate () qui validera la sortie .wasm. Le .wasm est disponible lorsque nous compilons du code C, C ++ ou rust.

Vous pouvez utiliser les outils suivants pour obtenir le code wasm.

Syntaxe

La syntaxe est la suivante -

WebAssembly.validate(bufferSource);

Paramètres

bufferSource- Le bufferSource a le code binaire provenant du programme C, C ++ ou Rust. Il se présente sous la forme de typedarray ou ArrayBuffer.

Valeur de retour

La fonction retournera true si le code .wasm est valide et false dans le cas contraire.

Essayons un exemple. Accédez à Wasm Fiddler , disponible surhttps://wasdk.github.io/WasmFiddle/, entrez le code C de votre choix et le code wasm.

Le bloc marqué en rouge est le code C. Cliquez sur le bouton Construire au centre pour exécuter le code.

Cliquez sur le bouton Wasm, pour télécharger le code .wasm. Enregistrez le .wasm de votre côté et laissez-nous utiliser le même pour valider.

Exemple

Par exemple: 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>

J'ai hébergé le fichier .html ci-dessus sur le serveur wamp avec le fichier de téléchargement .wasm. Voici la sortie lorsque vous la testez dans le navigateur.

Production

La sortie est celle mentionnée ci-dessous -