我使用 bfd.h 获取
有关 ubuntu 20.04 / amd64
代码的 bin 文件信息是
cout<<"arch: "<<bfd_get_arch_info(abfd)->arch<<" mach: "<<bfd_get_arch_info(abfd)->mach<<endl;
cout<<"name: "<<bfd_get_arch_info(abfd)->printable_name<<endl;
cout<<"file format: "<<bfd_get_target(abfd)<<endl;
对于在当前平台上构建的测试 bin 文件,我得到
arch: 8 mach: 8
name: i386:x86-64
file format: elf64-x86-64
对于在 ubuntu 16.04 i386 上构建的测试 bin 文件,我得到
arch: 8 mach: 4
name: i386
file format: elf32-i386
但是对于在 ubuntu 18.04 arm64 上构建的测试 bin 文件,我得到了
arch: 0 mach: 0
name: unknown
file format: elf64-little
无法读取此文件的 arch 和 mach
是否需要安装诸如 binutils-dev-arm64 之类的东西?或其他方法
我正在处理一个应该解析从 serval 系统 arch 构建的 bin 文件的项目,而且似乎没有太多关于这方面的信息。所以希望在这里得到一些帮助