如何将(C++ STL)向量与WebAssembly一起使用


#include <iostream>
#include<vector>
using namespace std;
vector<int> ver;
int pushData(int n)
{
for(int i=0;i<n;i++)
{
ver.push_back(i);
}
}

我想从JS调用pushData函数并将一些数据推送到向量"ver"并稍后使用它。 请解释如何使用WebAssembly来做到这一点。

我正在做一些像你一样的事情。在我看来,在WASM中使用STL是非常困难的。

我的解决方案是创建一个模拟向量。Wasm只支持int32,int64,float32和float64,wasm的adderess与其他进程不同。因此,直接导入库是不可行的。您可以通过代理或转换调用库函数。或者你可以自己写。

在这种情况下,vector无法直接导入。您可以创建一个名为vector的类,并实现push_back函数。

class vector{
public:
bool push_back(int i){
// do something
}
int& at(uint index){
// do something
}
private:
int* int_ptr;
}

更多细节在这里 https://aransentin.github.io/cwasm/

相关内容

  • 没有找到相关文章

最新更新