From 2a8e7aeeef99161b6f0378ac14e297c23ca6227b Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Wed, 4 Jun 2025 11:55:34 +0200 Subject: First 4 examples --- 02_library_modularized/build.sh | 5 +++++ 02_library_modularized/index.html | 16 ++++++++++++++++ 02_library_modularized/library.c | 3 +++ 02_library_modularized/mime.txt | 1 + 02_library_modularized/program.mjs | 6 ++++++ 02_library_modularized/run-node.sh | 3 +++ 02_library_modularized/run-server.sh | 3 +++ 02_library_modularized/script.mjs | 14 ++++++++++++++ 8 files changed, 51 insertions(+) create mode 100755 02_library_modularized/build.sh create mode 100644 02_library_modularized/index.html create mode 100644 02_library_modularized/library.c create mode 100644 02_library_modularized/mime.txt create mode 100644 02_library_modularized/program.mjs create mode 100755 02_library_modularized/run-node.sh create mode 100755 02_library_modularized/run-server.sh create mode 100644 02_library_modularized/script.mjs (limited to '02_library_modularized') diff --git a/02_library_modularized/build.sh b/02_library_modularized/build.sh new file mode 100755 index 0000000..f5564fc --- /dev/null +++ b/02_library_modularized/build.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +mkdir -p build +emcc -sEXPORTED_FUNCTIONS=_multiply -sMODULARIZE -sEXPORT_NAME=MyLibrary \ + -o build/library.mjs library.c diff --git a/02_library_modularized/index.html b/02_library_modularized/index.html new file mode 100644 index 0000000..4b31417 --- /dev/null +++ b/02_library_modularized/index.html @@ -0,0 +1,16 @@ + + + + + + Multiply two numbers + + + + + x
+
+

+ + + diff --git a/02_library_modularized/library.c b/02_library_modularized/library.c new file mode 100644 index 0000000..de68b76 --- /dev/null +++ b/02_library_modularized/library.c @@ -0,0 +1,3 @@ +int multiply(int a, int b) { + return a * b; +} diff --git a/02_library_modularized/mime.txt b/02_library_modularized/mime.txt new file mode 100644 index 0000000..6a9a425 --- /dev/null +++ b/02_library_modularized/mime.txt @@ -0,0 +1 @@ +text/javascript mjs diff --git a/02_library_modularized/program.mjs b/02_library_modularized/program.mjs new file mode 100644 index 0000000..5fc3fcd --- /dev/null +++ b/02_library_modularized/program.mjs @@ -0,0 +1,6 @@ +import MyLibrary from "./build/library.mjs"; + +var myLibraryInstance = await MyLibrary(); + +const result = myLibraryInstance._multiply(6, 7); +console.log("The answer is " + result); diff --git a/02_library_modularized/run-node.sh b/02_library_modularized/run-node.sh new file mode 100755 index 0000000..a6c9aa8 --- /dev/null +++ b/02_library_modularized/run-node.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +node program.mjs diff --git a/02_library_modularized/run-server.sh b/02_library_modularized/run-server.sh new file mode 100755 index 0000000..12c1a1c --- /dev/null +++ b/02_library_modularized/run-server.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +darkhttpd . --mimetypes mime.txt diff --git a/02_library_modularized/script.mjs b/02_library_modularized/script.mjs new file mode 100644 index 0000000..bac26d4 --- /dev/null +++ b/02_library_modularized/script.mjs @@ -0,0 +1,14 @@ +import MyLibrary from "./build/library.mjs"; + +var myLibraryInstance = await MyLibrary(); + +var aInput = document.getElementById("aInput"); +var bInput = document.getElementById("bInput"); +var button = document.getElementById("goButton"); +var resultText = document.getElementById("resultText"); + +button.addEventListener("click", () => { + var a = Number(aInput.value); + var b = Number(bInput.value); + resultText.innerText = myLibraryInstance._multiply(a, b); +}); -- cgit v1.3