在我的程序中,我想识别一个文件是否是ELF(Executable and Linkable Format)类型。 C语言函数如何判断文件是否为elf文件?
最佳答案
如果您唯一想做的事情是测试文件是否为 ELF,则读取前 16 个字节以检查文件标识。前四个字节等于 {0x7f, 'E', 'L', 'F'}
。剩余的字节可能会有所不同,但检查它们将帮助您更加确定该文件是 elf。查看elf(3)手册页以获取更多详细信息。
该手册页提供了足够的信息来解析一般的 ELF 文件,但如果您想要做的不仅仅是检查格式,那么您可能应该使用一个库。查看两者 the Elf Toolchain和 the Binary File Descriptor Library .
更新:还有一个选择是 libmagic(3)它将为您读取 ELF header 。如果您只对 ELF 感兴趣,这可能有点矫枉过正,但 libmagic 也知道几乎所有值得了解的文件格式。
关于c - C语言函数如何判断文件是否为elf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185145/