最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

asm.js使用示例代码_基础知识

来源:懂视网 责编:小采 时间:2020-11-27 21:16:29
文档

asm.js使用示例代码_基础知识

asm.js使用示例代码_基础知识: 代码如下:function mymodule(global, foreign, buffer) { use asm; // ------------------------------------------------------------------------- // SECTION 1: imports var H32 = new g
推荐度:
导读asm.js使用示例代码_基础知识: 代码如下:function mymodule(global, foreign, buffer) { use asm; // ------------------------------------------------------------------------- // SECTION 1: imports var H32 = new g

代码如下:
function mymodule(global, foreign, buffer) {
"use asm";

// -------------------------------------------------------------------------
// SECTION 1: imports

var H32 = new global.Int32Array(buffer);
var HU32 = new global.Uint32Array(buffer);
var log = foreign.consoleDotLog;

// -------------------------------------------------------------------------
// SECTION 2: functions

function f(x, y, z, w) {
// SECTION A: parameter type declarations
x = x|0; // int parameter
y = +y; // double parameter

// SECTION B: function body
log(x|0); // call into FFI -- must force the sign
log(y); // call into FFI -- already know it's a double
x = (x+3)|0; // signed addition

// SECTION C: unconditional return
return ((((x+1)|0)>>>0)/(x|0))>>>0; // compound expression
}

function g() {
g_f = +g_i; // read/write globals
return;
}

function g2() {
return;
}

function h(i, x) {
i = i|0;
x = x|0;
H32[(i&0xffffffff)>>4] = x; // masked by 2^k-1, shifted by byte count
ftable_2[(x-2)&2](); // dynamic call of functions in table 2
}

// -------------------------------------------------------------------------
// SECTION 3: function tables

var ftable_1 = [f];
var ftable_2 = [g, g2]; // all of the same type

// -------------------------------------------------------------------------
// SECTION 4: globals

var g_i = 0; // int global
var g_f = 0.0; // double global

// -------------------------------------------------------------------------
// SECTION 5: exports

return { f_export: f, goop: g };
}

文档

asm.js使用示例代码_基础知识

asm.js使用示例代码_基础知识: 代码如下:function mymodule(global, foreign, buffer) { use asm; // ------------------------------------------------------------------------- // SECTION 1: imports var H32 = new g
推荐度:
标签: 代码 入门 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top