How do I make this function from module public?
Jack
jckj33 at gmail.com
Wed Oct 14 01:46:11 UTC 2020
I'm playing with wasm, I wrote a small module where I'd like to
make the function available but wasm can't find this function.
math.d
>module math;
>extern(C):
>int mul(int a, int b) { return a * b;}
wasm.d
>public import math;
>extern(C): // disable D mangling
>void doSomething() { ... } // seems to be the required entry
>point
>void _start() {}
start.html:
<html>
<head>
<script>
(async() => {
const response = await fetch('wasm.wasm');
const bytes = await response.arrayBuffer();
const { instance } = await WebAssembly.instantiate(bytes);
const res = instance.exports.mul(2, 4);
console.log('The answer is: ' + res);
document.getElementById("result").innerHTML = "The result
is: " + res;
})();
</script>
</head>
<body>
Test page
<h1 id="result"></h1>
</body>
</html>
the exported function fails to find 'mul' function, as I can see
from the browser's console:
>start.html:8 Uncaught (in promise) TypeError:
>instance.exports.mul is not a >function at start.html:8
can I make it public using D or do I have to import the wanted
module with javascript?
More information about the Digitalmars-d-learn
mailing list