MyOD
实验内容:
- 复习c文件处理内容
- 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
- main与其他分开,制作静态库和动态库
- 编写Makefile
od命令
od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示。
-tx表示以十六进制显示,-tc表示以ASCII字符显示。
1.实验代码
myod.c
#include "head.h" #include <stdio.h> void main() { char name[50]; printf("please input the txtname:"); scanf("%s",name); ascii(name); hex(name); }
ascii.c
#include "head.h" #include <stdio.h> void ascii(char *name) { FILE *fp; char ch; fp=fopen(name,"r"); ch=fgetc(fp); printf("output the ascii:\n"); while(ch!=EOF) { if(ch=='\n') printf("\n"); else printf("%4d",ch); ch=fgetc(fp); } fclose(fp); }
hex.c
#include "head.h" #include <stdio.h> void hex(char *name) { FILE *fp; char ch; printf("output the hex:\n"); fp=fopen(name,"r"); ch=fgetc(fp); while(ch!=EOF) { if(ch=='\n') printf("\n"); else printf("%4x",ch); ch=fgetc(fp); } fclose(fp); }
head.h
void hex(char *name); void ascii(char *name);
2.实验过程
1. 新建一个txt文件并往里面存入一些数据
2. 写入上述函数
3.编译并运行
4.制作静态库
5.制作动态库
6.makefile
三、实验思考与体会
本次实验难度并不大,基本上是回顾过去几周学习过的知识。
当执行函数动态链接.so时,发现文件不在缺省目录下,将myod可执行文件的路径加入了PATH变量,则可以直接调用。