从另一个java脚本文件运行Emscripten创建的java脚本文件

时间:2015-08-19 15:07:27

标签: javascript c++ node.js emscripten

这是任务: 我想运行由animate().translationXBy() .js文件创建的Emscripten文件,来自另一个.cpp文件。

即:我有.js个文件,只显示文字ping.cpp。我使用Emscripten创建"ping"要执行此操作,我键入ping.js,此处为 - em++ ping.cpp

现在我可以使用ping.js运行它,但我希望它从我的第二个node ping.js文件运行,该文件名为.js,我无法理解应该如何操作。因为ping.js没有显示" ping"的主要功能。我可以从另一个.js文件或例如.html文件中调用它,而不是它有68500行代码。

那么,我有没有机会从init.js运行ping.js?

1 个答案:

答案 0 :(得分:0)

您可能应该在HTML文件中加载带有脚本标记的ping.js文件,就像任何其他脚本一样。诀窍是确保您使用您要加载的其他脚本可以使用的任何功能。为此,您需要设置EXPORTED_FUNCTIONS编译标志以指示要保留的函数名称。具体地

em++ -s EXPORTED_FUNCTIONS="['_ping']" ping.cpp -o ping.js

请注意,需要在函数名称前添加下划线('_')以补偿名称重整。

在要使用ping的其他JS文件中,需要进行设置。确保首先加载编译的脚本,然后执行:

ping = Module.cwrap('ping', 'null', ['string']);

这将允许你使用ping,假设它有一个void返回类型(因此为null)和一个c样式的字符串参数(因此是['string'])。

如果您确实想从其他JavaScript文件加载它,请参阅以下答案: How do I include a JavaScript file in another JavaScript file?