MyOD

MyOD

题目要求

复习c文件处理内容
编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile
提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
在博客园发表一篇博客,重点写遇到的问题和解决过程

完成步骤

了解od命令作用与用法,理解要求
运行并查看od使用效果
使用C语言实现od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile

了解od命令,理解要求

以下部分摘自Linux od命令 ,可知需要通过myod.c,实现将文件内容分别输出为AXCII字符或十六进制的功能。

作用

Linux od命令用于输出文件内容。

od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来

语法

od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>][-t <输出格式>][-w <每列字符数>][--help][--version][文件...]

参数

  • -t  <输出格式>或--format=<输出格式> 设置输出格式。

    • c:输出ASCII字符或者反斜杠;

    • x[SIZE]:十六进制,SIZE字节为单位以十六进制输出,即输出时一列包含SIZE字节。在默认条件下,以四个字节为一组输出

      ……

……

运行并查看od结果

对编译出的二进制文件使用od -tc -tx命令,查看运行结果,并与WinHex得到结果对比。

可以知道每20字节为一段,每段两行且有字节标序,第一行为二进制码所转ASCII码所对应的字符,第二行为二进制码所转16进制码。值得注意的是,标序为WinHex默认16进制标序不同为八进制,od -tx输出的16进制码为小端法排列,od -tc所转的ASCII码若无对应字符,将会以八进制数字显示。

使用C语言实现od -tx -tc XXX的功能


制作库

静态库

编写Makefile

posted @ 2020-10-11 22:07  一个李长兴  阅读(51)  评论(0编辑  收藏