问题标签 [emscripten]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1971 浏览

xmlhttprequest - Emscripten XMLHttpRequest 调用的 C++ 方面是什么?

我正在编写一个程序,我希望能够在本机编译并使用 Emscripten 进行编译。我需要将同步 HTTPS 请求作为该程序的一部分。

我如何在 C++ 中做到这一点?Javascript 方面是有道理的,但我不知道编译到XMLHttpRequest.

0 投票
1 回答
243 浏览

box2d - 如何恢复丢失的结构?

这个问题是关于 JavaScript 中的 Box2D v2.2.1(通过 Emscripten 编译)。

一些结构喜欢b2Vec2并且b2BodyDef工作得很好。

我可以创建两者的实例,如下所示:

但是,其他结构,例如b2MassDatab2Manifold不,请注意:

在处理使用这些结构的类时,这会导致奇怪的行为:

我怎样才能修复这些结构以及其他类似结构的使用?

0 投票
3 回答
267 浏览

emscripten - 在 Windows 7 上使用 Emscripten 编译问题

根据官方文档,我需要安装Python 2.X、Node.js(0.7.3或以上)、gcc 4.6、clang 3.2。事实上,它们都已安装。

检查,检查,检查,检查。

编辑:好的,我用一个更简单的测试用例更新了它,它也失败了。

你好.cpp

我尝试编译使用:

在此处输入图像描述

为了谷歌的缘故,错误信息是:

IOError:[Errno 2] 没有这样的文件或目录:'c:\users\jonathan\appdata\local\temp\emscripten_temp_7q2hkb\libcxx\libcxx.bc'

为什么这个 Emscripten 生成的文件不可用?

0 投票
1 回答
2564 浏览

emscripten - 使用 2D 双数组绑定类时出现 Emscripten 错误

我确信对此必须有一个简单的答案,但我在文档中或通过一些初步的谷歌搜索找不到任何参考。

基本上,我有一个看起来像这样的类:

还有其他使用的函数和变量,但它们都不会在 JavaScript 中直接调用。

现在,我想我们 embind 以便我可以创建我的对象并执行以下操作:

所以,很自然,我会做这样的事情:

这些是我的吸气剂和二传手

然后有这些错误:

那么有谁知道如何在 emscripten 中处理双数组?我真的希望我没有错过部分文档。如果我没有,这确实需要包含在嵌入页面中。

另外,我为任何不一致的地方道歉。这不是一个复杂的问题(表面上)。我只是不知道该怎么办。

0 投票
3 回答
5364 浏览

conditional-compilation - 如何有条件地为 emscripten 编译代码?

使用支持构建多个操作系统的代码库,只有在需要对 Emscripten 进行修改时,才明智地将它们集成到同一个代码库中,并在条件编译的帮助下让它继续在其他环境中工作。

但是,似乎没有关于该主题的任何文档,这对我来说似乎很差,我也找不到任何关于它的问题,这对我来说似乎很令人惊讶——我希望它是一个被广泛使用和记录的领域.

我怎样才能做到这一点?

(我看过tools/shared.py,这似乎暗示#ifdef EMSCRIPTEN#ifdef __EMSCRIPTEN__可以使用;我仍然在问这个问题以确定我是否正确,如果这是正确的做法,甚至应该使用哪个。)

0 投票
2 回答
2599 浏览

javascript - 在 mac 上使用 cython 和 emscripten 将简单的 python 程序编译为 javascript

我正在尝试使用 cython 和 emscripten 从 python 生成 javascript。

hello.py

然后我使用 cython 将其编译为 c

这会生成一个hello.c我用来编译的文件

这适用于 gcc 或 clang。当我执行时,./a.out我得到了预期的输出

接下来我想hello.c使用 emscripten 编译成 javascript

我明白了

它仍然会生成一个a.out.js我尝试在 node.js 中运行的文件

我收到参考错误

我尝试稍微更改生成的 javscript,但基本上我认为所有_Py_功能都没有定义。

有没有人有这方面的经验,或任何建议的修复?

0 投票
3 回答
7962 浏览

javascript - Emscripten - 具有纯 html5 画布支持的 C++(不是 WebGL)

使用 emscripten 时,有什么方法可以在 C++ 下访问画布 2D 上下文?
我希望能够使用画布的 api 函数(如 1d done 等)绘制简单的形状/路径lineTo(所以基本上使用此处fillRect列出的任何函数。

我会指出,我宁愿不依赖 SDL,但如果它是唯一可靠的方法,那么有没有办法强制它编译为 JavaScript,这样结果就不会使用 WebGL,而是使用基本的 canvas api?

或者我应该按照以下建议对 api 函数进行简单映射:Calling JavaScript From C/C++

在有人分享更好的解决方案之前,我很可能会在完成映射后立即在此处分享。

0 投票
1 回答
709 浏览

python - subprocess.Popen 找不到文件?

到目前为止,我一直在关注https://github.com/kripken/emscripten/wiki/Using-Emscripten-on-Windows。当我在 tests/runner.py 中运行测试套件时,一些测试因 python 错误而失败。

subprocess.Popen 在明显存在或应该在中间脚本中创建的文件上抛出错误 2(后者是,即 C:/tmp 目录中的文件,我已经创建并确定它不是只读的)。

我不知道出了什么问题或如何解决这个问题。

0 投票
1 回答
1240 浏览

javascript - 什么是单例类型数组?

我试图了解什么是 asm.js 以及它有什么作用,我正在阅读 Alon Zakai 的这篇文章:Asm.js 是什么,asm.js 不是什么

他首先谈到了 emscripten.js,并解释了它将 C++ 编译为 JS 的模式使用单例类型数组来使 C++ 在 JS 中感觉自如:

该模式涉及使用单例类型数组来表示内存(第 7 页)

我知道什么是单例对象以及 Javascript 中的“单例模式”是什么样的,但什么是单例类型数组?谷歌搜索一无所获。

编辑:我也确实理解 Emscripten 的作用以及关于隐式类型但静态类型变量的模式(即变量的类型在整个运行时不会改变),但是,“单类型数组”的措辞仍然超出了我的范围.

0 投票
2 回答
2871 浏览

javascript - 是否可以使用 emscripten 使用 Javascript 从 C++ 打印字符串?

如何使用 emscripten 将char*or传递给std::string外部定义的 Javascript 函数?

目前,当我将 a 传递给char*外部定义的 Javascript 时,会打印一个数字而不是字符串(指针?)。

这是我正在使用的代码:

mylib.js

主文件

运行时打印到控制台的结果node ./a.out.js

5260128