如果您只想测试文件是否为ELF格式,那么请读取前16个字节以检查文件标识符。 前4个字节将等于{0x7f,'E','L','F'}。 剩余的字节可能会有所变化,但检查它们将帮助您更加确定文件是elf格式。 有关详细信息,请参见elf(3)手册。该手册提供了足够的信息来解析ELF文件,但如果您想要做更多事情而不仅仅是检查格式,则应该使用库。 请参见Elf Toolchain和Binary File Descriptor Library。 更新:另一个选择是libmagic(3),它将为您读取ELF头。 如果您只对ELF感兴趣,那么这可能过于复杂,但是libmagic还知道几乎所有值得知道的文件格式。
file <文件名>
可以获取此信息。因此,您可以在C程序中使用以下代码来使用此shell命令:`execv("/path/to/file-cmd", args);`
- brokenfootfile
的输出,那么最好解析 ELF 头。这更容易。或者使用libmagic
,我认为这就是file
使用的东西。 - Adrian Ratnapala