小编Chi*_*iru的帖子

为什么我不能在浏览器中构造`WebAssembly.Memory`?

我在我试过的所有浏览器中偶然发现了一些奇怪的行为:

  • Chromium 69.0.3497.92(官方版)Arch Linux(64位)
  • Chrome 69.0.3497.100(官方版)(64位)
  • Firefox 62.0(64位)

当我尝试通过实例化WebAssembly.Memory对象来为WebAssembly分配内存时,例如:

new WebAssembly.Memory({ initial: 1 })
Run Code Online (Sandbox Code Playgroud)

在Chrome/Chromium中,我得到:

VM274:1 Uncaught RangeError: WebAssembly.Memory(): could not allocate memory
    at <anonymous>:1:1
(anonymous) @ VM274:1
Run Code Online (Sandbox Code Playgroud)

在Firefox中,我得到:

Error: out of memory 
Run Code Online (Sandbox Code Playgroud)

Node.js中的分配工作正常,但出于某种原因,我的所有浏览器都失败了.我不知道该怎么做,所有依赖WebAssembly的网站都因此无法使用.

我怀疑Linux正在阻止浏览器(但不是node.js?)分配内存,但这只是一个疯狂的猜测.另一台计算机上几乎相同的安装工作正常,但在这台特定的机器上,浏览器的每次分配都会失败.

有谁知道发生了什么?

这是我的输出ulimit -a:

-t: cpu time (seconds)              unlimited
-f: file size (blocks)              unlimited
-d: data seg size (kbytes)          unlimited
-s: stack size (kbytes)             8192
-c: core file size (blocks)         unlimited
-m: resident set size (kbytes)      unlimited
-u: processes                       31215
-n: file …
Run Code Online (Sandbox Code Playgroud)

javascript browser linux memory webassembly

13
推荐指数
1
解决办法
1128
查看次数

对象解构和处理异常

在javascript中,是否仍可以在处理异常的同时执行对象销毁?例如,这是我理想地希望能够执行的语法无效的内容

let body;
let err;

try {
  { body } = await networkRequest(...); // invalid syntax
} catch (e) {
  err = e;
}
Run Code Online (Sandbox Code Playgroud)

从我可以看出的选择是:

  1. 不要使用对象分解

  2. 不要处理异常

  3. 将被破坏的范围作用于try块

是否可以实现对象分解并处理异常?

javascript ecmascript-6

7
推荐指数
1
解决办法
641
查看次数

在 C 语言中,为什么这种“向后”索引有效?

考虑以下:

int main() {
        int a[] = {42, 9001, -1337};
        printf("%d, %d\n", a[0], 0[a]);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

我以前没有看到0[a],但它的作用似乎与a[0](对于其他数字也同样如此,而不仅仅是对于0)。

这是我的编译器的错(GCC)吗?有关于这种行为的任何文档吗?它有什么目的?

c indexing

5
推荐指数
2
解决办法
7110
查看次数

nginx的0美元是多少?(mod_rewrite的)

我正在尝试为我的新nginx网络服务器转换我的Apache重写规则,但是我在翻译这个特定行时遇到了问题:

RewriteRule ^(arin|barry|john|ross|danny).*$ /share/$0 [NC]

至于我的旧Apache服务器,这条规则引起了

http://example.com/danny/awesomeVideo.avihttp://example.com/share/danny/awesomeVideo.avi相反,在没有链接改变的情况下查看.

说实话,作为我的Apache设置是很久以前的事,我甚至不能确定该链路是否为别人谁的意见对文件中的地址栏变化是由于这一规则与否.

大多数在线转换器将为nginx提出此规则:

rewrite ^/(arin|barry|john|ross|danny).*$ /share/$0 last;

不幸的是,$0似乎是错误的,因为这是我重新启动nginx时得到的:

重启nginx:nginx:[emerg] unknown"0"变量

nginx:配置文件/etc/nginx/nginx.conf测试失败

有谁知道如何$0在nginx中表达Apache ?

apache .htaccess mod-rewrite nginx

4
推荐指数
1
解决办法
927
查看次数

重定向而不是 404 错误页面 - 状态代码不起作用 (Nginx)

我目前正在迁移到 nginx 服务器。我尝试将其放入我的 404 ErrorDocument 中,名为404.php

<?php
    header("Location: http://www.google.com/");
?>
Run Code Online (Sandbox Code Playgroud)

如果我现在尝试访问http://mydomain.com/404.php,这将按预期工作:它将我重定向到 Google。但是,一旦我尝试访问http://mydomain.com/iDoNotExist,就会显示 404 ErrorDocument ,而不会将我重定向到 Google。

这种行为对我来说似乎很奇怪。有什么办法可以解决这个问题吗?

编辑:

这是卷曲页面给我的结果:

卷曲-I mydomain.com/404.php

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.2.1
Date: Sun, 05 Jan 2014 11:31:15 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.4.4-14+deb7u7
Location: http://google.com/
Run Code Online (Sandbox Code Playgroud)

卷曲-I mydomain.com/iDoNotExist

HTTP/1.1 404 Not Found
Server: nginx/1.2.1
Date: Sun, 05 Jan 2014 11:33:49 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.4.4-14+deb7u7
Location: http://google.com/
Run Code Online (Sandbox Code Playgroud)

编辑2:

正如 hakre 所问,我来自Apache设置,是的,我正在使用Chromium。至于 …

php redirect nginx errordocument

4
推荐指数
1
解决办法
5094
查看次数

为什么""<{}评估为真?

在JavaScript中,为什么:

"" < {}评估true

"" < []评价到false

javascript arrays string compare object

4
推荐指数
1
解决办法
67
查看次数

何时在JavaScript中使用导出默认值和导出常量?

我目前正在研究一个反应流星项目.我没有找到任何明确的文档何时准确使用export default和何时使用export const.关于这个的任何意见分别何时使用什么和有什么区别?

javascript meteor

3
推荐指数
1
解决办法
4074
查看次数

C++中的条件模板返回类型

我用Matrix这种方式声明了一个模板类:

template<typename Type> class Matrix {
   // Some code for matrix computations
}
Run Code Online (Sandbox Code Playgroud)

现在,我试图以operator+一种方式重载,以保证更大的Type将成为结果.我在尝试这件事:

template<typename OtherType> 
Matrix<Type> operator+ (Matrix<OtherType> mat) {
    // Dimension check and matrix addition code
}
Run Code Online (Sandbox Code Playgroud)

但这样做,我几乎会迫使C++选择Matrix<Type>作为返回类型.我想要实现的是,例如,Matrix<int>+ Matrix<float>将导致Matrix<float>.

有关如何做到这一点的任何建议?

c++ templates types return matrix

2
推荐指数
1
解决办法
718
查看次数