【发布时间】:2014-02-23 19:17:57
【问题描述】:
我创建了一个动态 C++ 库,它依赖于大约 30 或更多 mb 的数据。现在我试图找出存储这些数据的最佳方式。
数据本质上是一个包含数百万个元素的大数组。
我希望库的安装/卸载尽可能简单。该库可以被终端程序、R程序等其他接口程序引用,只需要支持UNIX
我的一个想法是将数据硬编码到一个大数组中并将文件编译到库中,但这似乎不是正确且有效的做事方式。另外,如果我让文件超过 1 GB,那么事情就会失控。
我的另一个方法是将带有数据的文件复制到预定义的路径,并将库中的引用硬编码到该路径。但是,有些用户不想将所有东西都安装到默认安装路径。
我的另一个想法是让每个接口都有能力提供数据文件的路径,但这对接口来说似乎很麻烦,为什么接口要知道库数据在哪里?
对于这种情况,有什么众所周知的做法吗?
【问题讨论】:
-
您确实可以选择使用内存映射文件。如果只需要访问部分数据,可能会更有益。
-
我可以使用它,但首先我需要将信息存储在某个地方。这就是我当前的问题是关于
标签: c++ shared-libraries conventions