wasm-micro-runtime/samples/basic
YAMAMOTO Takashi 654ac5feca
Use cmake POSITION_INDEPENDENT_CODE instead of hardcoding -pie -fPIE (#1598)
This fixes unused option warnings on -pie for macOS.
(On macOS cmake produces "-fPIE -Xlinker -pie")

Bump required cmake version to 3.14 for CheckPIESupported.

References:
https://cmake.org/cmake/help/latest/prop_tgt/POSITION_INDEPENDENT_CODE.html
https://cmake.org/cmake/help/latest/module/CheckPIESupported.html#module:CheckPIESupported
2022-10-19 01:51:18 +08:00
..
src Update document and fix wasm_runtime_call_wasm_a issue (#1005) 2022-02-14 17:36:38 +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 Use cmake POSITION_INDEPENDENT_CODE instead of hardcoding -pie -fPIE (#1598) 2022-10-19 01:51:18 +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