问题标签 [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.
emscripten - 调用函数,带数组参数
Module.cwrap(funcname, return, params)
如果Module.cwrap('square', 'number', ['number'])
C++ 函数看起来像这样:int square(int);
但是如果我的 C++ 函数看起来像这样呢?int fnc(int, int[]);
提前致谢,
linux - Emscripten 和空的广场
在使用 Emscripten 编译 OpenGL / GLUT 代码后,我遇到了一个困扰我的小问题。我可以用 gcc 和 emcc 编译。我只是在不同的代码下有一个关于-nostdinc ++ Maios的警告(这对我来说从来都不是问题)用gcc编译的代码工作正常。但是生成的html页面只显示一个黑色方块。代码已生成,但没有出现
你知道为什么吗?
c++ - ClCompile 和 Emscripten
Emscripten/tests/msvc10 中的一组示例中的基本 hello world 出现错误
我有一个错误 MSB4096,但我在 Visual Studio 2012 上找不到问题的解决方案。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(817,5):错误 MSB4096:项目列表“ClCompile”中的项目“..\hello_world.c” " 没有定义元数据“ProgramDataBaseFileName”的值。要使用此元数据,请通过指定 %(ClCompile.ProgramDataBaseFileName) 对其进行限定,或确保此列表中的所有项目都定义此元数据的值。
你知道原因吗?
谢谢
c - 使用 emscripten 从标准输入读取得到不存在的换行符
我正在尝试使用 emscripten 构建一个 C 代码库,它的所有 I/O 调用都经过一个抽象层。它没有达到我的预期,所以我在 StackOverflow 上使用 getline 例程尝试了一个更简单的测试:
在 gcc 或 clang 下编译,这工作正常。它会读取一个字符串,直到您按下回车键,然后返回该字符串。但是当我编译它时:
它认为输入了换行符,所以它打印一个空行并且不给我输入的机会。有任何想法吗?
javascript - Emscripten- 使用 Module.cwrap 检索由 c 函数设置的数组值
我们有一个通过 emscripten 编译为 javascript 的“小 c”库。c 库中的许多函数会修改传入的数组。从 javascript 级别访问这些数组的机制是什么并不明显。
使用Module.cwrap
和调用正确导出的函数(例如EXPORTED_FUNCTIONS="['_myFunc']
)很简单,但是对在 c 端计算的变量的唯一访问似乎是在此函数的返回中。如果我们从 c 端返回一个指向数组的指针,那么如何从 javascript 端访问该数组并不明显。
如果我们指出它Module.cwrap
有一个 returnTypearray
调用的 c 函数将如何返回一个数组?
javascript - 如何处理传递/返回数组指针到 emscripten 编译代码?
在 Windows 7 环境中,我使用 emcc 编译了一个简单的 c 程序,该程序接受一个数组并对其进行修改(见下文)。
使用 emcc 的 -o 选项,我生成了一个加载到浏览器 (Chrome) 的 .html 文件。
加载后,我看到在浏览器窗口中生成的输出符合预期(见下文)。
但是,当通过 javascript 控制台使用 module.cwrap() 命令并尝试直接调用该函数时(在 main() 之外),
我看到在浏览器中生成/显示以下内容,这不是我期望看到的。
我有以下问题:
在对 Module.cwrap() 的调用中,返回类型和参数列表的语法是否正确?我已经在教程的“与代码交互”部分成功运行了简单、直接的 int_sqrt() 示例,该示例处理将非指针变量传递给 int_sqrt() 例程。
当数组和/或指针传递给 emscripten 生成的 javascript 代码(或从其返回)时,是否发生了一些不同的事情?
当从 main() 调用时,函数 displayArray() 在浏览器中生成的输出如何工作(如预期的那样)?但不是通过javascript控制台?
javascript - Emscripten javascript库
我做了两个例子:
- 第一个是 3D 菜单。
- 第二个也是3D动画。
它们都使用 emscripten 编译成 webgl。
如何使用这两个示例简单地通过调用将它们介绍到同一个画布中?(创建某种库)。
我找到了一个解决方案,它是许多画布之间的交互,但由于使用了分离的画布而没有得到认可,所以它们看起来不在同一个界面中——>这对动画不利。
emscripten - 试图让 asm.js 返回一个类型化数组
我正在使用 emscripten 生成一些 Javascript,并且试图弄清楚如何获取返回类型化数组的函数。我试图返回的数组是静态长度的,但我有点困惑如何在 JS 领域处理基于指针的返回类型。
这种包装器是做事的方式吗: 如何从 javascript 访问 Emscripten 类型数组?
非常感谢。
ubuntu-12.04 - emscripten设置问题
我正在尝试设置 emscripten。所以,我遵循了这个指示。
我通过以下几行检查了版本:
node --version
->v0.10.15
python --version
->Python 2.7.3
我没有安装 LLVM 和 Clang。所以,我通过这种方式安装它们:
然后,我正在检查他们的版本:
llvm-config --version
->3.2
clang --version
->
接下来,我通过这个命令下载 emscripten:
git clone git://github.com/kripken/emscripten.git ~/emscripten
(如下教程)
进入emscripten目录:cd ~/emscripten
另外,我遵循了这个:
输出hello, world!
在两个命令中。
接下来,首先启动 emcc:
./emcc
(如下教程)
输出:
检查这些路径以确保它们正确:
/usr/bin/python2 --version
->Python 2.7.3
/usr/bin/node --version
->v0.10.15
/usr/bin/llvm-config --version
->3.2
看起来不错。现在我将尝试从教程中编译示例:
构建示例 1:
输出:''(无)运行示例 1:
输出:hello, world!
构建示例 2(生成 HTML):
输出:
没有创建“hello.html”! 我做错了什么?
附加信息:
我在谷歌上搜索了这个,但他们的解决方案对我没有帮助。(更多不同的错误和更多的痛苦)
javascript - Emscripten:用控制台替换提示(某种)
我有(交互式 - 像 python shell)C++ 控制台应用程序并开始使用 Emscripten(从 C++ 转编译为 JS)。一切都很好,但我希望将 JS 的焦点窃取提示替换为不那么……古怪的东西。
我尝试过的:我添加了一个输入文本区域和一个按钮来生成 html,并用一个 while 循环替换了提示调用行(循环直到用户按下按钮)。这并没有很好地工作,空循环冻结了浏览器(这可能是预期的,但 JS 中没有睡眠功能)。
所以,简而言之,我想要的是这样的布局:
和行为:
通过修改(emcc's)生成的JS代码来实现这一点的任何简单方法?(我知道如何通过修改(我的)原始代码来实现这一点,但如果可能的话,我想避免这种情况)