2015-05-08 69 views
0

我努力尝试以某种方式使用stxxl库,我不仅可以将其矢量结构中的数据存储到文件中,还可以在重新运行时从该文件中恢复数据我的程序。我发现你可以从一个文件(http://stxxl.sourceforge.net/tags/master/classstxxl_1_1vector.html#a4d9029657cc11315cb77955fae70b877)构造一个向量,但类“文件”只包含这些函数(http://stxxl.sourceforge.net/tags/master/classstxxl_1_1file.html)没有办法(我可以看到),以实际访问现有的文件与一些给定的()路径。stxxl从磁盘文件保存和读取矢量

有人与这个图书馆工作之前有一个想法如何做到这一点?

预先感谢

回答

0

stxxl::file是一个接口的基类。根据您的操作系统,你

  • stxxl::syscall_file为UNIX,Linux和Mac OS X上使用POSIX 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"

+0

'stxxl :: syscall_file'的示例也可以在Windows上使用。这是因为它与POSIX兼容吗?更改为'stxxl :: wincall_file'会使事情变得更有效率? –