wasm-micro-runtime/samples/basic
石博文 3c337dc3ab
fix: Wrong compiler parameter on MSVC (#4778)
* fix: Wrong compiler parameter on MSVC
* refactor: Move gcc flags to common build script.
* refactor: Add both C/CXX flags
2026-01-08 09:10:07 +08:00
..
src Enable runtime API exposure for MSVC builds (#4287) 2025-05-28 20:30:05 +08:00
wasm-apps Fix sample basic intToStr was called with wrong length (#2876) 2023-12-07 10:26:28 +08:00
.gitignore Fix function type not set issue of aot_call_indirect (#229) 2020-04-07 11:04:46 +08:00
build.sh Allow not copying the wasm binary in wasm-c-api and not referring to the binary in wasm/aot loader (#3389) 2024-05-17 09:00:08 +08:00
CMakeLists.txt fix: Wrong compiler parameter on MSVC (#4778) 2026-01-08 09:10:07 +08:00
README.md Port gitbook document to main (#4621) 2025-10-23 16:00:04 +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

description
The related code/working directory of this example resides in directory {WAMR_DIR}/samples/basic

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