• 2.3.1测试 20191325


    任务详情

    1. 推荐在OpenEuler系统中实现
    2. 编辑并运行2.3.1中的代码,要求在不修改t2.c 和 t1.c中main函数中的代码的情况下,程序运行结果是你的后四位学号。提交代码和运行结果截图。
    3. 网上学习objdump命令,提交不少于5篇博客链接和微信读书上的图书链接,并给出你认为最好的讲解资源的链接或图书名及章节
      1. https://linux265.com/course/linux-command-objdump.html
      2. https://www.cnblogs.com/baiduboy/p/7061365.html
      3. https://blog.csdn.net/whatday/article/details/99154104
      4. http://lnmp.ailinux.net/objdump
      5. https://www.jianshu.com/p/a9a1d07302dc
    4. 用objdump分析第1步中的可执行文件和目标文件,提交你的分析截图以及如何和教材讲解内容对应的,比如obj文件的文件头,代码段,数据段等,可执行文件如何链接mysum的。

    用objdump分析第1步中的可执行文件和目标文件
    odjdump -d odjectfile进行分析
    可执行文件


    在分析中可以看到程序的文件头(包含代码段、数据段和BSS段的大小)、代码段、数据段以及BSS段


    代码段

    main:

     mysum:

    分别对两个C文件编译出的.o文件进行反汇编:

    在完成编译进行链接的时候,链接器就会将所有内容的地址链接起来,从而让程序被打散在内存各个部分的段能够又拼接在一起。如本程序中main函数调用mysum的时候,就会使用跳转,跳转到mysum中的地址。这个部分的生成是在连接成可执行文件的过程中完成的。

  • 相关阅读:
    【Mybatis源码解析】Mybatis的日志系统
    20200728
    【Mybatis源码解析】-Configuration
    【日志】怎么打印日志
    【OOM】几种常见的OOM异常
    树 [虚树, 动态规划]
    最大公约数 [动态规划]
    送分题 [组合计数]
    LCM [树状数组, HH的项链]
    AT1219 歴史の研究 [回滚莫队]
  • 原文地址:https://www.cnblogs.com/2902480848sy/p/15488962.html
Copyright © 2020-2023  润新知