mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-09-06 09:51:27 +00:00
parent
894cc0dc62
commit
67523138d9
|
@ -2,70 +2,6 @@ Introduction
|
||||||
==============
|
==============
|
||||||
This project aims to demonstrate wasm app management and programming model of WAMR.
|
This project aims to demonstrate wasm app management and programming model of WAMR.
|
||||||
|
|
||||||
Directory structure
|
|
||||||
------------------------------
|
|
||||||
<pre>
|
|
||||||
simple/
|
|
||||||
├── build.sh
|
|
||||||
├── CMakeLists.txt
|
|
||||||
├── README.md
|
|
||||||
├── src
|
|
||||||
│ ├── ext-lib-export.c
|
|
||||||
│ ├── iwasm_main.c
|
|
||||||
│ └── main.c
|
|
||||||
└── wasm-apps
|
|
||||||
├── event_publisher
|
|
||||||
│ └── event_publisher.c
|
|
||||||
├── event_subscriber
|
|
||||||
│ └── event_subscriber.c
|
|
||||||
├── request_handler
|
|
||||||
│ └── request_handler.c
|
|
||||||
├── request_sender
|
|
||||||
│ └── request_sender.c
|
|
||||||
├── sensor
|
|
||||||
│ └── sensor.c
|
|
||||||
└── timer
|
|
||||||
└── timer.c
|
|
||||||
</pre>
|
|
||||||
|
|
||||||
- build.sh
|
|
||||||
The script to build all binaries.
|
|
||||||
- CMakeLists.txt
|
|
||||||
CMake file used to build the simple application.
|
|
||||||
- README.md
|
|
||||||
The file you are reading currently.
|
|
||||||
- src/ext-lib-export.c
|
|
||||||
This file is used to export native APIs. See README.md in WAMR root directory for detail.
|
|
||||||
- src/iwam_main.c
|
|
||||||
This file should be implemented by platform integrator in which a host interface is provided to interact with WAMR app-manager. See `{WAMR_ROOT}/core/app-mgr/app-mgr-shared/app-manager-export.h` for the definition of the host interface.
|
|
||||||
```
|
|
||||||
/* Interfaces of host communication */
|
|
||||||
typedef struct host_interface {
|
|
||||||
host_init_func init;
|
|
||||||
host_send_fun send;
|
|
||||||
host_destroy_fun destroy;
|
|
||||||
} host_interface;
|
|
||||||
```
|
|
||||||
```
|
|
||||||
host_interface interface = {
|
|
||||||
.init = host_init,
|
|
||||||
.send = host_send,
|
|
||||||
.destroy = host_destroy
|
|
||||||
};
|
|
||||||
```
|
|
||||||
This interface is passed to app-manager by calling
|
|
||||||
```
|
|
||||||
app_manager_startup(&interface);
|
|
||||||
```
|
|
||||||
|
|
||||||
The `host_init_func` is automatically called when app-manager startup. And `host_send_fun` will be called by app-manager to send data to host anytime.
|
|
||||||
>Note: Currently since app-manager will keep running and never exit, `host_destroy_fun` has no chance to get executed. So you can leave this API implementation empty.
|
|
||||||
|
|
||||||
- src/main.c
|
|
||||||
The main file.
|
|
||||||
- wasm-apps
|
|
||||||
Source files of sample wasm applications.
|
|
||||||
|
|
||||||
Build all binaries
|
Build all binaries
|
||||||
==============
|
==============
|
||||||
Execute the build.sh script then all binaries including wasm application files would be generated in 'out' directory.
|
Execute the build.sh script then all binaries including wasm application files would be generated in 'out' directory.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user