首页 > 系统相关 >WebAssembly01-- 在js中分配内存

WebAssembly01-- 在js中分配内存

时间:2022-10-13 14:00:12浏览次数:46  
标签:count total -- sum js int 分配内存 WebAssembly01 include

编译选项

emcc sum.cc -o sum.js -sEXPORTED_FUNCTIONS=_malloc,_free

sum.cc

#include "util.h"
#include<stdlib.h>
#include<string.h>
#include <malloc.h>
EM_PORT_API(int)sum(int*ptr,int count)
{
    int total = 0;
    for (int i = 0; i < count; i++)
    {
        total += ptr[i];

    }
    return total;
}

js_alloc_mem.html

<html>
	<head>
		<title>test page</title>

	</head>
	<body>
		<script >
		Module={}
		Module.onRuntimeInitialized=function(){
    	var count = 50;
        var ptr = Module._malloc(count*4);
        console.log("sum 50");
        for(var i=0;i<count;i++){
            Module.HEAP32[ptr/4+i]=i+1;
        }
        console.log(Module._sum(ptr,count));
        Module._free(ptr);

		}			
		</script>
		<script src="sum.js"></script>
	</body>
</html>

标签:count,total,--,sum,js,int,分配内存,WebAssembly01,include
From: https://www.cnblogs.com/simp/p/16787946.html

相关文章

  • tkinter打包替换ico文件
    替换tk默认图标如果文件内采用自定义的图标替换tk默认图标,使用说明文档的方法root.iconbitmap(icon.ico)替换tk图标后,打包的exe执行失败。原因是图标没有打进去,解决方法......
  • Nmap常用方法
    1、扫描单个目标地址 在Nmap后面直接添加目标地址即可扫描 nmap目标地址  2、扫描多个目标地址 如果目标不在同一网段,或在同一网段但不连续且数量不多,可以使用该......
  • 在内存映射文件中给计数器+1
    #include<stdio.h>#include<fcntl.h>#include<errno.h>#include<string.h>#include<semaphore.h>#include<stdlib.h>#include<sys/mman.h>#defineSEM_NAM......
  • SVN服务器搭建
    (1)下载版本“VisualSVN-Server-5.0.2-x64.msi”安装即可。不要新版本,新版本需要秘钥(2)安装完毕后,创建仓库,并且新建能访问的用户(用户名、密码)(3)安装SVN客户端,比如“Tortoise......
  • js格式化时分秒以'08:08:08’的形式输出
    封装时分秒 functiongetTime(){vartime=newDate();varhour=time.getHours();varminute=time.getMinutes();......
  • 导入导出Csv
    导入Csv/***导入Csv*ThinkPHP5.1框架*/publicfunctioncsvDr(){$excelData=array();//第一种:将文件一次性......
  • Mock.js 随机生成数据,拦截ajax请求
    Mock数据(模拟):如果你想模拟mock数据,需要用到一个插件mock.js在项目当中src文件中创建mock文件夹第二步准备JSON数据(mock文件夹中创建相应的JSON文件)-----格式化一下,别留......
  • TR-069第一期第六修正版-1
    最近在复习TR协议,记录一下。1序言注意-本文的第一节和第二节为介绍章节,没有定义本协议的需求。TR-069描述CPEWAN管理协议,适用于CPE与自动配置服务器(ACS)间的通信。CP......
  • sql server中如何查看被死锁的表和进程
    --查看被锁表:selectrequest_session_idspid,OBJECT_NAME(resource_associated_entity_id)tableNamefromsys.dm_tran_lockswhereresource_type='OBJECT'orderby......
  • 发送mqtt QoS 2的消息时,消息会丢失吗?如何保证消息传输不丢失思路
    官网文档解决“丢失消息”这一问题。消息是非持久消息、发送至错误的位置还是从未发送?错误编写的客户机程序可能会丢失消息。开始之前您有多肯定您所发送的消息已丢失......