我有一个带有字符串标识符的 ascii 数字文本文件(> 50k 行),可以将其视为数据向量的集合。根据用户输入,应用程序在运行时只需要这些数据向量之一。
据我所知,我有 3 个选项可以从这个文本文件中获取信息:
- 将其保存为文本文件,在运行时提取所需的向量。我认为缺点是您不能在代码中拥有相对路径,因此用户必须指向文件的正确位置(?)。或者,获取配置脚本以将绝对路径作为宏注入。
- 使用xxd将其转换为静态无符号字符(如此处所述),然后包含生成的文件。缺点是一个 5MB 的文件变成了一个 25MB 的包含文件。我认为在运行期间将这 25MB 加载到内存中是否正确?
- 将其转换为对象并使用objcopy进行链接,如此处所述。这似乎使文件大小保持不变——还有其他权衡吗?
是否有这样做的标准/推荐方法?如果有区别,我可以使用 C 或 C++。
谢谢。
(使用 gcc 在 linux 上运行)