我能够成功地编译libdwarf
和libelf
并发出一些警告。我还成功编译了simplereader
演示应用程序,但未能处理elf文件。它始终失败:
void* _elf_read(Elf *elf, void *buffer, size_t off, size_t len)
在libelf
库下的 input.c 中。
我使用的是最新的2012 libdwarf
源代码和来自http://directory.fsf.org/wiki/Libelf的libelf
有任何建议我如何解决它?如果有人做过这个港口并愿意分享他/她的工作,将不胜感激。
谢谢。
答案 0 :(得分:2)
我已经解决了这个问题。问题不在于Libelf,而在于应用程序simplereader。此应用程序打开文件以进行只读,而libelf则希望以二进制文件打开文件。通过添加“| _O_BINARY”一切顺利。