2.3.1测试 20191329马静怡

任务一

编辑并运行2.3.1中的代码,要求在不修改t2.c 和 t1.c中main函数中的代码的情况下,程序运行结果是你的后四位学号。提交代码和运行结果截图。

  • 代码:

  • 运行结果:

任务二

网上学习objdump命令,提交不少于5篇博客链接和微信读书上的图书链接,并给出你认为最好的讲解资源的链接或图书名及章节

objdump 目标文件分析

实例分析objdump反汇编用法

从最简单的程序剖析objdump反汇编指令

《Linux设备驱动开发详解:基于最新的Linux4.0内核》第三章3.6 工具链

我认为最好的讲解资源:

objdump命令详解

objdump(Linux)反汇编命令使用指南

任务三

用objdump分析第1步中的可执行文件和目标文件,提交分析截图以及如何和教材讲解内容对应的,比如obj文件的文件头,代码段,数据段等,可执行文件如何链接mysum。

1.可执行文件

  • 反汇编
gcc -o test t1.c t2.c
objdump -s -d test > test.txt

  • 查看汇编文件(文件过长,只取一部分展示)

文件头:

代码段:

数据段:

2.目标文件

  • 反汇编:
gcc -c t1.c(t2.c)
objdump -d t1.o(t2.o)

  • 文件头:

3.可执行文件如何链接mysum的?

答:是通过调用callq来链接mysum。

posted @ 2021-10-31 17:31  修勾  阅读(18)  评论(0编辑  收藏  举报