【问题标题】:stxxl save and read vector from disk filestxxl 从磁盘文件中保存和读取向量
【发布时间】:2015-05-08 13:42:45
【问题描述】:

我正在努力尝试以某种方式使用 stxxl 库,我不仅可以将数据从它们的向量结构存储到一个文件中,而且还可以在我的程序重新运行时从该文件中恢复它。

我发现您可以从文件 (http://stxxl.sourceforge.net/tags/master/classstxxl_1_1vector.html#a4d9029657cc11315cb77955fae70b877) 构造向量,但“文件”类仅包含这些函数 (http://stxxl.sourceforge.net/tags/master/classstxxl_1_1file.html),而无法(我可以看到)实际访问现有文件有一些给定的路径。

以前使用过这个库的人知道怎么做吗?

提前致谢

【问题讨论】:

    标签: c++ stxxl


    【解决方案1】:

    stxxl::file 是一个接口基类。根据您的操作系统,您需要派生类之一

    • stxxl::syscall_file 适用于使用 POSIX 的 UNIX、Linux 和 Mac OS X readwrite
    • stxxl::wincall_file 适用于 Windows,或
    • stxxl::linuxaio_file 用于 Linux,使用 SYS_io_* 异步 I/O 系统调用(有关详细信息,请参阅 man 7 aio)。这需要 STXXL 1.4.1。

    您可以使用stxxl::create_file 函数在运行时决定使用哪个后端。将io_impl参数分别设置为"syscall""wincall""linuxaio"

    【讨论】:

    • stxxl::syscall_file 的示例也适用于 Windows。这是因为它与 POSIX 兼容吗?改成stxxl::wincall_file 会让事情变得更有效率吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 2018-05-14
    • 2015-07-19
    • 1970-01-01
    相关资源
    最近更新 更多