wasm-micro-runtime/samples/basic
zoraaver 5fd530610a
Enable MASM automatically in runtime_lib.cmake (#2634)
MASM (Microsoft Macro Assembler) needs to be enabled to successfully
compile .asm files on Windows. Without enabling this language
automatically in runtime_lib.cmake, Windows cmake projects using WAMR
get hard-to-diagnose linker errors about missing symbols as the assembly
file is not compiled at all.
2023-10-12 20:42:25 +08:00
..
src Expose wasm_runtime_call_indirect (#1969) 2023-02-20 18:56:55 +08:00
wasm-apps Apply clang format for samples files (#833) 2021-11-15 12:48:35 +08:00
.gitignore Fix function type not set issue of aot_call_indirect (#229) 2020-04-07 11:04:46 +08:00
build.sh Update document and fix wasm_runtime_call_wasm_a issue (#1005) 2022-02-14 17:36:38 +08:00
CMakeLists.txt Enable MASM automatically in runtime_lib.cmake (#2634) 2023-10-12 20:42:25 +08:00
README.md fix one typo in samples/basic.README.md (#274) 2020-06-03 15:17:22 +08:00
run.sh Add a basic sample to show how native runtime invokes wasm apps in WAMR and how wasm apps invoke native functions. (#207) 2020-03-20 16:39:13 +08:00

The "basic" sample project

This sample demonstrates a few basic usages of embedding WAMR:

  • initialize runtime
  • load wasm app and instantiate the module
  • call wasm function and pass arguments
  • export native functions to the WASM apps
  • wasm function calls native function and pass arguments
  • deinitialize runtime

Build this sample

Execute the build.sh script then all binaries including wasm application files would be generated in 'out' directory.

$ ./build.sh

Run the sample

Enter the out directory.

$ cd ./out/
$
$ ./basic -f wasm-apps/testapp.wasm
calling into WASM function: generate_float
Native finished calling wasm function generate_float(), returned a float value: 102009.921875f
calling into WASM function: float_to_string
calling into native function: intToStr
calling into native function: get_pow
calling into native function: intToStr
Native finished calling wasm function: float_to_string, returned a formatted string: 102009.921

Or execute the run.sh script in samples/basic folder.

$ ./run.sh
calling into WASM function: generate_float
Native finished calling wasm function generate_float(), returned a float value: 102009.921875f
calling into WASM function: float_to_string
calling into native function: intToStr
calling into native function: get_pow
calling into native function: intToStr
Native finished calling wasm function: float_to_string, returned a formatted  string: 102009.921