https://blog.csdn.net/pkx1993/article/details/82015730
Embind用于绑定C++函数和类到JavaScript,这样编译代码就能在js中以一种很自然的方式来使用。
需要在C/C++代码中添加#include <emscripten/bind.h>头文件。使用EMSCRIPTEN_BINDINGS()块来创建函数、类、值类型、指针(包括原始和智能指针)、枚举和常量的绑定本节主要介绍如何绑定在C/C++方法中经常作为参数或返回值的结构体;
首先新建一个example.cpp文件,代码如下:
#include <emscripten/bind.h> using namespace emscripten; struct Point { int x; int y; }; Point getPoint() { Point point = {0}; point.x = 100; point.x = 200; return point; } EMSCRIPTEN_BINDINGS(my_module) { value_object<Point>("Point") .field("x", & Point::x) .field("y", & Point::y) ; function("_getPoint", &getPoint); }使用embind编译上例,请调用emcc的bind选项,编译指令如下:
$ emcc --bind -o example.js example.cpp -O3 -s WASM=1在JavaScript中调用如下:
var oPoint = Module._getPoint(); var ix = oPoint.x; var iy = oPoint.y;https://segmentfault.com/a/1190000011229465