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的功能
制作库
静态库