如何将我的库打包在自执行函数中?(Emscripten)
How to pack my library in a self executing function? (emscripten)
我使用 Embind 和 Emscripten 在 C++ 中创建了一个库。
一些手写的JS代码也使用--pre-js
添加到库中
图书馆工作。但我想将代码重新排列为:
var MYLIB = (function(){
// ... Original Code ...
return Module;
})();
因此,代码不会污染全局命名空间,并且代码简化器可以进行更好的优化。
emcc
有内置功能吗?
该库只能在 Web 浏览器中运行,而不会在 nodejs 中运行。
您正在寻找的是MODULARIZE
和EXPORT_NAME
选项。查看设置中的文档.js。
引用该文件:
默认情况下,我们以直接的方式将所有代码发送到输出
中 .js文件。这意味着,如果您将其加载到Web
的脚本标签中 页面,它将使用全局范围。设置模块化后,我们将发出
var EXPORT_NAME = function(Module) {
模块 = 模块 ||{};
// //..所有从Emscripten发出的代码..
返回模块;
// };
其中EXPORT_NAME来自同名选项
相关文章:
- 如何以及何时使用 getline 函数执行计算?
- 主函数执行时C++堆栈溢出异常
- 如何编写在函数执行过程中垃圾回收的测试用例?
- 插入到映射中的元素在函数执行后清除
- 遵循 C++ 中的构造函数执行顺序
- 成员函数执行时成员变量的增量
- 关于如何在函数执行后使用和获取返回值的问题
- 从 C 代码 system() 函数执行的 Linux 命令与从终端执行时给出的结果不同
- 顺序异构函数执行器
- 静态 LPTSTR 变量在函数执行后丢失值
- C++如何使函数执行得更快
- C 中函数执行的优先顺序
- 函数执行时间
- 当类成员函数执行时,程序停止工作
- 主函数执行之前的C++segfault
- 如何使用以查看<chrono>函数执行所花费的时间
- 如何从另一个函数执行一个函数
- 函数执行一次
- 为我自己的函数执行通常的算术转换
- 如何对继承构造函数执行正确的SFINAE