asm.js相关内容
我见过一些对性能至关重要的 javascript 代码,例如 这个项目 上的代码使用与 0 的按位或运算.例如: GameBoyAdvanceCPU.prototype.write8 = 函数(地址,数据){地址 = 地址 |0;数据 = 数据 |0;this.memory.memoryWrite8(address | 0, data | 0); 我知道带有“|0"的楼层编号的用例,但这里的情
..
我最近一直在阅读有关 asm.js 和 WebAssembly 的文章: http://ejohn.org/blog/asmjs-javascript-compile-target/ https://brendaneich.com/2015/06/from-asm-js-to-webassembly/ 我仍然对一些事情感到困惑: asm.js 代码是否及时编译并运行?编译成
..
假设我在C ++中将函数 x 定义为: 外部"C" void x(); 然后我在全局上下文中用JS实现 function _x(){console.log('x named');} _x 是在asm编译的js文件中定义的,该文件正在被调用,而不是我的实现.我在做什么错了? 我在链接时收到此警告: 警告:未解析的符号:x 这是堆栈跟踪: 未捕获的abort()错误在jsS
..
据我所知,Asm.js只是JavaScript的严格规范,它使用了JavaScript功能,并且不是新语言. 例如,它提供了 var a = e | 0; ,而不是使用 var a = e; . 我的问题是,如果asm.js只是一个定义,并且可以通过更改使用和声明变量和动态类型的方式来实现,那么"use asm"; 的实际作用是什么?是否有必要在声明函数的主体之前将此字符串放置?
..
(1)通过提供线性内存,我听说了WebAssembly的安全性.我想知道线性存储器包含什么吗?wasm堆栈和堆位于此内存空间中吗?如果是,我认为wasm堆栈和胶水代码堆栈(例如js python等)是分开的,对吧? (2)通过使用导入表,我可以了解wasm的内存安全性.换句话说,wasm函数不能调用线性存储器之外的任何函数,因为它只能使用索引来调用导入的函数.除此之外,wasm还提供什么其他
..
我已经创建了一个jsPref来测试这个asm.js的东西: http://jsperf.com/asm -diag 我认为我做错了什么,因为asmjs代码的运行速度比普通的js代码慢两倍,即使在每晚的firefox中也是如此。 我不知道代码中有什么问题。 提前致谢, 编辑: Benchmark.prototype.setup = function (){ 函数Dia
..
在javascript中,使用“整数”参数除以零的行为应该像浮点数一样: 1/0; //无限 -1/0; // -Infinity 0/0; // NaN asm.js规范说整数参数除法返回 intish ,必须立即强制签名或签名。如果我们在javascript中执行此操作,则使用“整数”参数除零始终在coersion后返回零: (1/0) | 0; //
..
我有一个使用以下参数编译成asm.js的C函数: void myfunc(double v1 [], double v2 [],int v_size,double c) 它接收一个数组( v1 ),应用转换,然后用输出填充另一个相同大小的数组( v2 )。 我编译它,然后运行以下JS代码: v1 = new Array( 1.0,1.5,2.0);
..
我已阅读如何使用asm进行测试和开发的问题。 js?,接受的答案提供了 http://kripken.github.com的链接/ mloc_emscripten_talk /#/ 。 该幻灯片的结论是“静态类型语言,特别是C / C ++可以有效地编译到JavaScript “,所以我们可以”期望编译的C / C ++的速度比本机代码快2倍,或者更好,今年晚些时候“。 但是非静态类型
..
我从asm.js网站上下了一个小函数。我使用模块模式来封装它:一次为asm,一次使用相同的语法,但没有“使用asm”注释,一次像香草-javascript一样。 var add_asm =(function MyAOTMod(stdlib,foreign,heap){ “use asm”; var sqrt = stdlib.Math.sqrt; $ b $ (x,y){ x =
..
我已完成指示几次,看着无数的论坛,仍然无法解决这个问题。 我运行的是Windows 10,只是试图安装Emscripten。我安装了Emscripten: 我跑 #获取可用工具的最新注册表。 emsdk更新 后跟 #下载并安装最新的SDK工具。 emsdk install latest 但是它仍然会出现相同的警
..
注意:这个问题纯粹是关于 asm.js ,不是关于C ++或其他程式语言。 标题已经说过: 如何以有效的方式实现函数指针? 我在网上找不到任何东西,所以我想在这里问。 编辑: 我想在我正在编译的编译器中实现虚函数。 在C ++中,我会这样做,生成一个 / code>: #include class Base { public:
..
我已经看到了一些性能至关重要的javascript code,就像一个在这个项目的大量使用位或操作以0例如: GameBoyAdvanceCPU.prototype.write8 =功能(地址,数据){ 地址=地址| 0; 数据=数据| 0; this.memory.memoryWrite8(地址| 0,数据| 0); 我知道用例地板号码用“| 0”,但在这里,情况并非如此,因为这些是总是
..