首页 > 解决方案 > Qt 是否有类似 `file` 实用程序的机制来读取有关可执行文件的信息?

问题描述

我需要打印一些可执行文件的信息。通常在 Linux 上,这可以通过运行来完成,file executable并且会返回各种信息。

例子:

$ file test
test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked,
    interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, with debug_info, not stripped

$ file ri-t.o
ri-t.o: ELF 64-bit LSB relocatable, UCB RISC-V, RVC, double-float ABI, version 1 (SYSV), not stripped

现在,我知道我可以QProcess用来运行 `file ... 并解析输出,但我需要一种可移植的(即 Windows)方式,否则这根本不会发生。为了在这里完全清楚,我想阅读基本信息,例如可执行目标的 CPU 以及可能的其他内容(即,如果它被剥离等)。另外,我不介意使用正则表达式来“提取”我的字符串(即x86-64)。

我可以用 Qt5 轻松做到这一点,还是应该有条件地编译自己的代码?即便如此,我应该从哪里开始?

标签: c++qt5

解决方案


推荐阅读