aboutsummaryrefslogtreecommitdiff
path: root/01_library
diff options
context:
space:
mode:
authorSebastiano Tronto <sebastiano@tronto.net>2025-06-04 11:55:34 +0200
committerSebastiano Tronto <sebastiano@tronto.net>2025-06-04 11:55:34 +0200
commit2a8e7aeeef99161b6f0378ac14e297c23ca6227b (patch)
treed3ab195eabf4d06cad8b305756e14d4b138eae63 /01_library
downloademscripten-tutorial-2a8e7aeeef99161b6f0378ac14e297c23ca6227b.tar.gz
emscripten-tutorial-2a8e7aeeef99161b6f0378ac14e297c23ca6227b.zip
First 4 examples
Diffstat (limited to '')
-rwxr-xr-x01_library/build.sh4
-rw-r--r--01_library/index.html17
-rw-r--r--01_library/library.c3
-rw-r--r--01_library/program.js6
-rwxr-xr-x01_library/run-node.sh3
-rwxr-xr-x01_library/run-server.sh3
-rw-r--r--01_library/script.js10
7 files changed, 46 insertions, 0 deletions
diff --git a/01_library/build.sh b/01_library/build.sh
new file mode 100755
index 0000000..5af8919
--- /dev/null
+++ b/01_library/build.sh
@@ -0,0 +1,4 @@
1#!/bin/sh
2
3mkdir -p build
4emcc -sEXPORTED_FUNCTIONS=_multiply -o build/library.js library.c
diff --git a/01_library/index.html b/01_library/index.html
new file mode 100644
index 0000000..84d8e10
--- /dev/null
+++ b/01_library/index.html
@@ -0,0 +1,17 @@
1<!doctype html>
2<html lang="en-US">
3<head>
4 <meta charset="utf-8" />
5 <meta name="viewport" content="width=device-width" />
6 <title>Multiply two numbers</title>
7 <script src="./build/library.js" defer></script>
8 <script src="./script.js" defer></script>
9</head>
10
11<body>
12 <input id="aInput" /> x <br />
13 <input id="bInput" /> <button id="goButton">=</button> <br />
14 <p id="resultText"></p>
15</body>
16
17</html>
diff --git a/01_library/library.c b/01_library/library.c
new file mode 100644
index 0000000..de68b76
--- /dev/null
+++ b/01_library/library.c
@@ -0,0 +1,3 @@
1int multiply(int a, int b) {
2 return a * b;
3}
diff --git a/01_library/program.js b/01_library/program.js
new file mode 100644
index 0000000..5cfc6c5
--- /dev/null
+++ b/01_library/program.js
@@ -0,0 +1,6 @@
1var library = require("./build/library.js");
2
3library.onRuntimeInitialized = () => {
4 const result = library._multiply(6, 7);
5 console.log("The answer is " + result);
6};
diff --git a/01_library/run-node.sh b/01_library/run-node.sh
new file mode 100755
index 0000000..238f51f
--- /dev/null
+++ b/01_library/run-node.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3node program.js
diff --git a/01_library/run-server.sh b/01_library/run-server.sh
new file mode 100755
index 0000000..cc9f1e0
--- /dev/null
+++ b/01_library/run-server.sh
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3darkhttpd .
diff --git a/01_library/script.js b/01_library/script.js
new file mode 100644
index 0000000..9432402
--- /dev/null
+++ b/01_library/script.js
@@ -0,0 +1,10 @@
1var aInput = document.getElementById("aInput");
2var bInput = document.getElementById("bInput");
3var button = document.getElementById("goButton");
4var resultText = document.getElementById("resultText");
5
6button.addEventListener("click", () => {
7 var a = Number(aInput.value);
8 var b = Number(bInput.value);
9 resultText.innerText = Module._multiply(a, b);
10});

Generated with cgit - Back to sebastiano.tronto.net