95 строки
3.4 KiB
HTML
95 строки
3.4 KiB
HTML
<!doctype html>
|
|
<!--
|
|
Copyright 2018 Google Inc. All Rights Reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
<meta name="description" content="Sample illustrating the use of WebAssembly">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<title>WebAssembly Sample</title>
|
|
|
|
<!-- Add to homescreen for Chrome on Android -->
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<link rel="icon" sizes="192x192" href="../images/touch/chrome-touch-icon-192x192.png">
|
|
|
|
<!-- Add to homescreen for Safari on iOS -->
|
|
<meta name="apple-mobile-web-app-title" content="WebAssembly Sample">
|
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" href="../images/apple-touch-icon-precomposed.png">
|
|
|
|
<!-- Tile icon for Win8 (144x144 + tile color) -->
|
|
<meta name="msapplication-TileImage" content="../images/touch/ms-touch-icon-144x144-precomposed.png">
|
|
<meta name="msapplication-TileColor" content="#3372DF">
|
|
|
|
<link rel="icon" href="../images/favicon.ico">
|
|
|
|
<link rel="stylesheet" href="../styles/main.css">
|
|
</head>
|
|
|
|
<body>
|
|
<h1>Web Assembly</h1>
|
|
|
|
<p>Available in <a href="https://www.chromestatus.com/features/5453022515691520">Chrome 57+</a></p>
|
|
|
|
<!-- // [START code-block] -->
|
|
<p>
|
|
WebAssembly allows you to compile code from other languages like C or C++
|
|
to run on the web at native speed.
|
|
</p>
|
|
<div class="output">
|
|
<pre id="log"></pre>
|
|
</div>
|
|
<!-- // [START code-block] -->
|
|
<script src="fib.js"></script>
|
|
<script>
|
|
"use strict";
|
|
|
|
function log() {
|
|
document.querySelector('#log').textContent += Array.prototype.join.call(arguments, '') + '\n';
|
|
}
|
|
|
|
// Wait for the Wasm module to be loaded
|
|
Module.onRuntimeInitialized = _ => {
|
|
// Create JS function wrapper for the exported C function. The parameters
|
|
// are function name, return type and argument types, respectively.
|
|
const fib = Module.cwrap('fib', 'number', ['number']);
|
|
// Call it like any other JS function
|
|
log(`12th Fibonacci number is ${fib(12)}`);
|
|
};
|
|
|
|
</script>
|
|
<!-- // [END code-block] -->
|
|
|
|
<script>
|
|
/* jshint ignore:start */
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
|
|
ga('create', 'UA-53563471-1', 'auto');
|
|
ga('send', 'pageview');
|
|
/* jshint ignore:end */
|
|
</script>
|
|
<!-- Built with love using Web Starter Kit -->
|
|
</body>
|
|
</html>
|