大佬教程收集整理的这篇文章主要介绍了如何找出用于构建二进制文件的* .c和* .h文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目标是编写一个脚本,为每个二进制文件解析一组C文件,并确保只从它们中调用正确的函数.@H_403_3@
一种选择似乎是尝试从Makefile中提取此信息.但是这对生成的文件和标题不起作用(由于依赖于Includes).@H_403_3@
另一种选择可能是简单地浏览调用图,但这会变得复杂,因为很多函数都是通过使用函数指针来调用的.@H_403_3@
还有其他想法吗?@H_403_3@
objdump -W <some_compiled_binary>
矮人格式应包含您要查找的信息.@H_403_3@
<0><b>: Abbrev number: 1 (DW_TAG_compile_unit) < c> DW_AT_producer : (indirect String,offset: 0x5f): GNU C 4.4.3 <10> DW_AT_language : 1 (ANSI C) <11> DW_At_name : (indirect String,offset: 0x28): test_3.c <15> DW_AT_comp_dir : (indirect String,offset: 0x36): /home/auSELEn/trials <19> DW_AT_low_pc : 0x82f0 <1d> DW_AT_high_pc : 0x8408 <21> DW_AT_stmt_list : 0x0
在这个例子中,我从test_3编译了目标文件,它位于… / trials目录中.当然,你需要在此周围编写一些脚本来收集相关的源文件名.@H_403_3@
以上是大佬教程为你收集整理的如何找出用于构建二进制文件的* .c和* .h文件?全部内容,希望文章能够帮你解决如何找出用于构建二进制文件的* .c和* .h文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。