Emscripten 使用文件系统 FS

2024-01-03

我想知道如何使用FS在 Emscripten 中。我想我已经完成了维基中提到的所有事情,但我仍然得到Uncaught ReferenceError: FS is not defined。如果我在生成的 *.js 文件中搜索文字FS没有发生,我认为应该有。

这是我到目前为止的代码。

信息媒体.cpp

#include <math.h>  //testing include
extern "C" {

// testing function
int int_sqrt(int x) {
  return sqrt(x);
}

}// extern c 

编译为

emcc -s EXPORTED_FUNCTIONS="['_int_sqrt']" InfoMedia.cpp -o InfoMedia.js

结果在InfoMedia.js@pastebin http://pastebin.com/eKwwsx75

init_fs.js

var Module = {
  'print': function(text){ 
    console.log(text) 
  },
  'preRun' : function(){
    console.log('prerun');
    FS.createPath('/', 'home/user1', true, true);
  },
  'noInitialRun': true,
};

示例.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>InfoMediaJS-Example</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">    </script>
    <script type="text/javascript" src="init_fs.js"></script>
    <script type="text/javascript" src="InfoMedia.js"></script>
    <script type="text/javascript">
        run();
    </script>
</head>
<body></body>
</html>

在 chrome 中运行此命令后,调用 preRun 并收到错误。

prerun                                     init_fs.js:6
Uncaught ReferenceError: FS is not defined init_fs.js:7

另外,如果我尝试在编译时嵌入文件

emcc -s EXPORTED_FUNCTIONS="['_int_sqrt']" --embed-file gizmo.webm InfoMedia.cpp -o InfoMedia.js

我收到这个错误Uncaught TypeError: Object #<Object> has no method 'FS_createDataFile'

它位于我生成的 js 文件中的这一行http://pastebin.com/Mu1qfG25 http://pastebin.com/Mu1qfG25@1460号线Module['FS_createDataFile']('/', 'gizmo.webm', [26, 69, 223,....]), true, true);

FS 永远不会插入到生成的 js 文件中。所以我怎么称呼 FS 的东西并不重要。我需要添加任何编译器选项来插入该库功能吗?


非常简单。只需使用使用 FS 的函数,emscripten 就会自动包含它。正如您在输出文件中看到的那样,尽管 emscripten 提供的 c 库比您在生成的输出文件中看到的要多得多,但其中没有包含不必要的库函数。

为了让事情变得清楚,只需将 InfoMedia.cpp 更改为:

#include <math.h>  //testing include
#include <stdio.h>
extern "C" {

// testing function
int int_sqrt(int x) {
  printf ("Decimals: %d %ld\n", 1977, 650000L);  // use FS lib functionality
  return sqrt(x);
}

}// extern c
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Emscripten 使用文件系统 FS 的相关文章

  • 创建文件系统“驱动程序”

    我想为 Windows 物理磁盘上的自定义文件系统创建一个 驱动程序 我不完全知道解释它的最佳方式 但该设备已经具有适当的驱动程序以及 Windows 与之通信的所有内容 但我希望用户能够将设备插入到他们的电脑 将其显示在 我的电脑 中 并
  • java中的内存文件系统

    我想用Java创建一个简单的内存文件系统 它有一个根目录 并且能够创建新的子目录 在该目录中 我们可以创建新文件 写入文件 读取文件 删除文件以及重命名文件 您能否提供一些从哪里开始的建议 简单的代码或资源 自定义文件系统提供程序必须实现
  • 匿名文件对象何时/如何关闭?

    在评论中这个问题 https stackoverflow com questions 38234224 learning python the hard way ex 17 i got the one liner but 关于Python单
  • PHP readfile 与 file_get_contents

    我使用以下代码来生成 zip push to download the zip header Content type application zip header Content Disposition attachment filena
  • 是否可以用 phongeap 目录中的其他数据库文件替换现有的 sqlite 数据库文件

    我有一个要求用其他数据库文件替换设备数据库 就像备份和存储目录 下载 备份 应用程序名称 或服务器一样 如果我们删除数据或丢失手机 那么我已经从服务器恢复数据并替换为设备数据库文件 我正在尝试使用代码 但仅替换数据库我没有得到 functi
  • 如何在嵌入式Linux中高效地在VFAT分区上创建大文件

    我正在尝试在嵌入式 Linux 盒子中使用 dd 命令在 VFAT 分区上创建一个大的空文件 dd if dev zero of mnt flash file bs 1M count 1 seek 1023 目的是跳过前 1023 个块并在
  • 如何从 ext2/ext3 文件系统上的稀疏文件中删除一些块

    当您写入稀疏文件时 ext2 ext3 文件系统会自动分配块 但是当我不再需要其中的某些块时 我发现没有办法做到这一点 感觉就像使用 malloc 而不使用 free 是否可以 释放 稀疏文件的某些块 如果是的话 怎么样 不要告诉我将其复制
  • Google 文件系统中的块大小问题

    谷歌文件系统论文 http labs google com papers gfs html 块大小是关键设计之一 参数 我们选择了64MB 这比典型文件大得多 系统块大小 每个块 副本存储为普通 Linux 文件放在 chunkserver
  • 在Python中获取目录基名的优雅方法?

    我有几个脚本将目录名称作为输入 并且我的程序在这些目录中创建文件 有时我想获取给程序的目录的基本名称 并用它在目录中创建各种文件 例如 directory name given by user via command line output
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • 从 Java 应用程序读取的文件是否会调用系统调用?

    我的理解是 请求文件系统路径 例如 aFile 的用户应用程序将调用文件系统并获取所请求文件的虚拟地址 然后应用程序将尝试以该地址作为参数 即作为 CPU 指令 进行读 写操作 执行读取命令时 内存管理单元会将该地址转换为物理地址 并查看页
  • ASCII“../”是 PHP 中指示目录遍历的唯一字节序列吗?

    我有一个 PHP 应用程序 它使用 GET参数来选择文件系统上的 JS CSS 文件 如果我拒绝输入字符串包含的所有请求 或者可见 7 位 ASCII 范围之外的字节 当路径传递到 PHP 的底层 基于 C 文件函数时 这是否足以防止父目录
  • 使用 FileInputStream 时如何确定理想的缓冲区大小?

    我有一个从文件创建 MessageDigest 哈希 的方法 我需要对很多文件 gt 100 000 执行此操作 用于读取文件的缓冲区应该设置多大才能最大限度地提高性能 大多数人都熟悉基本代码 为了以防万一 我将在这里重复一遍 Messag
  • 跨平台 C++ 文件系统观察器

    我正在寻找一个跨平台文件系统观察器 类似于文件系统观察者 http msdn microsoft com en us library system io filesystemwatcher aspx NET 中的类 因为它是守护进程 服务
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • FAT32 格式存储上的文件系统链接

    我知道FAT32 还有FAT16 12都不支持符号链接 nor 硬链接 然而我想到了这个想法 FAT 规范描述了每个文件都与一个目录项相关联 根据我的理解 可以说目录中的文件条目以某种方式或其他方式points文件的内容 那么 如何定义两个
  • 如何在Python中仅列出顶级目录?

    我希望能够仅列出某个文件夹内的目录 这意味着我不需要列出文件名 也不需要其他子文件夹 让我们看看一个例子是否有帮助 在当前目录中我们有 gt gt gt os listdir os getcwd cx Oracle doc DLLs Doc
  • PHP,检查 URL 和文件是否存在?

    我为 WordPress 创建了一个插件 需要存在两个文件才能正常运行 第一个文件定义为文件系统路径 第二个文件定义为 URL 假设第一个文件是 home my site public html some folder required f
  • 如何在play框架中从服务器读取文件

    我有以下文件 app menus menu1 yml 我想阅读它的内容 简短回答 fileContent play vfs VirtualFile fromRelativePath app menus menu1 yml contentAs
  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文

随机推荐