如何从 linux 二进制文件中存储和检索数据
How to store and retrieve data from linux binary file
我正在使用arm-none-linux-gnueabi-g++来编译将在嵌入式Linux设备上运行的c ++代码。
我在Windows下使用arm-none-linux-gnueabi-g++,并获取将在Linux机器上运行的二进制文件作为输出。
为了使用新的二进制文件设置嵌入式设备,我需要使用二进制文件和更多设置文件创建一个存档文件 (zip)。
到目前为止一切都好。
我需要自动化,以便以二进制文件版本的名称自动创建存档文件。
目前,我们将版本保留为代码中的简单常量 std::string 变量。我们在打印诊断、日志记录等时使用该字符串。
如何从版本二进制文件中读取它?
或者其他方法可以实现这一目标?
我想可以将其存储在二进制文件中的某个常量位置并从那里读取它,但真的不知道如何在不使二进制文件损坏的情况下做到这一点。
您正在自动创建文件,因此我假设您首先编译它,然后使用生成的二进制文件进行存档。
可以将版本存储在文本文件中,并在代码中#include
该文件:
const std::string version =
#include "version.txt"
;
在version.txt
:
"version string"
在制作存档时,您可以轻松地从文本文件中解析版本。
Ville 是正确的。
你现在正在倒退!
您的构建系统应为可执行文件提供版本,而不是相反。修复此问题后,您的构建系统可以为其他元素提供相同的版本,例如您的 ZIP 文件名。
理想情况下,版本将从版本控制自主生成,但如果确实有必要,您可以在构建命令中指定它。
可以从二进制文件中提取一些字符串(如果有Windows等效项,请nm
想想),但这实际上是相反的方法。
相关文章:
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- C++-需要读取存储在文件(.txt)中的时间戳并正确检索
- 我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
- SQLite3 C++检索 ID 并存储到另一个表
- 如何在文件中节省空间地存储和检索 std::vector<int> 值
- 如何从 linux 二进制文件中存储和检索数据
- 如何将浮子值的字节存储在字符串中并以后检索值
- 如何在三维数组中使用std::map来存储/检索具有特定值的键
- 存储和检索位字段中的有符号值
- 如何通过先前存储的ID从结构对象中检索值?C
- 手动检索和存储指向 OpenGL 函数的指针时遇到问题
- c++使用字符串句柄对对象进行通用存储和检索
- 使用 XPTR 在内存中存储和检索矩阵
- 以数组的形式存储组合框项,并在 WPF 中检索 SelectedId
- 使用 QSqlQuery 检索 MySQL 存储过程的输出
- 使用c++通过文件存储和检索链表
- 从数据库中以 blob 数据类型形式存储的原始图像数据中检索 CImage 对象
- 对象未在矢量 (C++) 中正确存储/检索
- 如何存储/检索用作模板参数的成员函数指针
- 无法从安全数组中存储/检索值