问题标签 [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 回答
278 浏览

c++ - 我可以在 emscripten 中使用 fmemopen

我需要创建 FILE *f为内存缓冲区。我知道fmemopen并想使用它。但我需要将它编译为 javascript 代码。但是em++不能链接。我在 emscripten - Link to source code的头文件中找到了它,所以我认为我可以以某种方式使用它。问题是——如何?

PS:

0 投票
1 回答
456 浏览

c - 为什么LAPACK 3.5.0没有C口可用?

我的目标是将 LAPACK 与 Emscripten 一起使用。Emscripten 能够将 C 代码转换为 JavaScript。但不幸的是,LAPACK 3.5.0 ( http://www.netlib.org/lapack/ ) 仅在 FORTRAN95 中可用。

CLAPACK 项目(http://www.netlib.org/clapack/)基本上就是我想要的:LAPACK 的 C 版本。但是这个已经过时了;最新的是 3.2.1。

所以我现在的问题是:为什么没有 LAPACK 到 C 的更新端口?有什么建议可以实现我的目标吗?

提前致谢!

我设法将 LAPACK C 包装器 LAPACKE 移植到 javascript。不过我不能使用它,因为包装器使用内部的 FORTRAN 例程。我如何将这些嵌入到 emscripten 中?

例如,函数 LAPACKE_cgbcon 使用 LAPACKE_xerbla,它只在 FORTRAN 中可用。为什么我会从移植包装器中受益?

0 投票
2 回答
2481 浏览

javascript - 将 Emscripten 与 Fortran 一起使用:LAPACK 绑定

我的目标是将 LAPACK 与 Emscripten 一起使用。

我的问题是:如何将 LAPACK 移植到 JS?我能想到的方法有两种: CLAPACK to JS 我的问题是:有人知道 3.2.1 之后的非官方版本吗?而另一种思考方式是:如何将 FORTRAN 移植到 JS?

Emscripten 能够将 C 代码转换为 JavaScript。但不幸的是,LAPACK 3.5.0 ( http://www.netlib.org/lapack/ ) 仅在 FORTRAN95 中可用。

CLAPACK 项目(http://www.netlib.org/clapack/)基本上就是我想要的:LAPACK 的 C 版本。但是这个已经过时了;最新的是 3.2.1。

F2C 仅适用于 FORTRAN 77。LAPACK 3.5.0 是用 FORTRAN 95 编写的。

所以我现在的问题是:为什么没有 LAPACK 到 C 的更新端口?

最佳方法是直接将 LAPACK 的 FORTRAN95 代码转换为带有 clang 和 emscripten 的 javascript。但我只是不知道从哪里开始。

Emscripten 目前不支持 FORTRAN。但它处理 LLVM 位码,因此使用 clang 从 FORTRAN 文件生成 LLVM bc 应该不是问题。

出于测试目的,我有这个文件:

它用“clang hello.f -o hello -lgfortran”编译得很好。我无法将其转换为有效的位码。

这些方法都不起作用,因为 emscripten 一直告诉我

无论如何,我不确定这是否可能,因为 LAPACK 显然需要 libgfortran 才能工作。而且我无法将库合并到 javascript 代码中...

提前致谢!

编辑:

我几乎设法将 BLAS 从 LAPACK 3.5.0 转换为 JS。我用dragonegg来完成这个。

从中获得 LLVM 位码后:

但是 emscripten 仍然给我留下以下错误:

问题是我认为 lgfortran 是预编译的。

0 投票
0 回答
435 浏览

clang - Emscripten clang hello_world.cpp 链接错误

我正在尝试按照有关Emscripten 设置的教程进行操作。我已经安装了 SDK,现在正在尝试测试 clang 编译。

尝试简单:clang tests/hello_world.cpp 我收到以下错误:

c:\Program Files\Emscripten\emscripten\1.13.0>clang++ tests/hello_world.cpp hello_world-005255.o : 错误 LNK2019: unresolved external symbol printf referenceenc ed in function main LINK : error LNK2001: unresolved external symbol mainCRTStartup hell.exe : 致命错误 LNK1120: 2 unresolved externals clang++.exe: 错误: 链接器命令失败,退出代码为 1120(使用 -v 查看调用)

我在 VS 2010 cmd 中执行命令,我的系统是 64 位(Emscripten 版本也是 64 位)

0 投票
1 回答
371 浏览

javascript - 为什么我不能在 ASM.js 中使用 32 位整数数组?

这段代码在 Firefox 中运行良好 - 尽管出于某种原因,将 Uint8Array 更改为 Uint32array 会中断。在这种情况下,我是否需要以不同的方式强制数字?

还有一件事 - 是否可以发送一个数组缓冲区,并引用它产生的最终数组,也可以使用 C++ emscriptem 编译的 asm.js?

0 投票
1 回答
1058 浏览

c++ - SDL unicode 键盘输入:过滤无字符输入

我正在使用此代码将键盘输入确定为 unicode 字符:

我的问题是,keysym.unicode如果我只按Shift- 键(打印值为 1249),它也有一个值。

但我只需要有效的 unicode 字符(例如:按Shift+ A

有什么提示吗?

0 投票
1 回答
726 浏览

javascript - 使现有的 C++ 项目在 Firefox OS 中工作

我有一个现有的 c++/java 项目,可以在 linux、windows 和 android 上运行,我也想让它在 firefox OS (B2G) 上运行。我已经为 FFOS 构建了我的项目的二进制文件(守护程序和客户端),并使用 adb shell 在命令行上对其进行了测试。问题是如何使用 javascript 通过用户应用程序访问该守护程序。

由于 FFOS 将 HTML/JS/CSS 用于应用程序,因此一个建议是使用“emscripten”工具将整个项目转换为 javascript。但是考虑到我的项目的规模和复杂性,这似乎不起作用(很多错误,缺少头文件等)。它使用一些低级功能,例如创建 UDP 数据包、发送多播数据包以及侦听和连接到 tcp/udp 端口​​;javascript API 中缺少这些功能(我错了吗?)。

另一个建议是使用 Web IDL(需要修改 FFOS gecko 引擎),但我不确定它在我的场景中如何帮助我。

任何想法/提示/建议将不胜感激。谢谢。

0 投票
1 回答
575 浏览

c++ - Emscripten 复制/粘贴剪贴板

emscripten 中是否有可能复制/粘贴文本?

Emscripten 支持 SDL。

但是使用SDL_GetClipboardText(),SDL_SetClipboardText()似乎不起作用。

0 投票
0 回答
686 浏览

c++ - Emscripten and web views for GUI in a game

I am a C++ programmer and my friend is a web programmer, we want to make a simple game with rendering being done in C++/OpenGL ES 2.0 and the GUI be displayed through a web view.

We are using Emscripten to display C++ code in a browser, should we use Awesomium and compile it with Emscripten or something? or is there another way since we are already compiling javascript from LLVM.

An easy solution would be very appreciated,

Thanks

0 投票
1 回答
2410 浏览

c++ - 没有 SDL 的 Emscripten

我正在尝试开始使用 emscripten,但我似乎无法找到有关它的所有信息。我已按照教程进行操作,并获得了一个简单的 hello world 工作。从我收集到的正常GL调用自动被翻译成WebGL,但我想知道的是如何设置渲染目标、上下文以及所有这些没有SDLGLUT或任何东西的东西。

有没有办法在没有(包括鼠标/键盘输入等)的WebGL情况下在 emscripten上使用?SDL\GLUT我在哪里可以获得有关 emscripten 的更多信息、示例等?