Emscripten下载
简单Demo
#include <stdio.h>
#include <emscripten/emscripten.h>
int main(int argc, char ** argv) {
printf("Hello World\n");
}
#ifdef __cplusplus
extern "C" {
#endif
EMSCRIPTEN_KEEPALIVE void myFunction(int argc, char ** argv) {
printf("MyFunction Called\n");
}
#ifdef __cplusplus
}
#endif
cmake_minimum_required(VERSION 3.17)
project(WASM)
set(CMAKE_CXX_STANDARD 14)
add_executable(WASM main.cpp)
EMSCRIPTEN_KEEPALIVE(重要)
EMSCRIPTEN_KEEPALIVE
:此宏用于声明在JavaScript中可访问的函数。通过在函数定义前使用此宏,您可以确保函数不会被优化和删除。
EMSCRIPTEN_KEEPALIVE
void myFunction() {
}
emscripten_run_script*
emscripten_run_script
:此函数用于在JavaScript环境中执行一段脚本。
emscripten_run_script("console.log('Hello, Emscripten!')");
emscripten_async_wget*
emscripten_async_wget
:此函数用于异步下载文件。
void downloadFile() {
emscripten_async_wget("https://example.com/file.txt", "file.txt", onComplete, onError);
}</