myod实验(选做)
2024-09-01 21:02:13
myod实验
实验任务
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
6 在博客园发表一篇博客,重点写遇到的问题和解决过程
代码部分
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);
实验详情
1.用myod XXX实现Linux下od -tx -tc XXX的功能
只需要输入gcc *.c即可编译成功,新建一个记事本test.txt,里面输入一些随机的东西
2.用静态库
将.o文件生成静态库后,gcc即可
gcc -c ascii.c -o ascii.o
gcc -c hex.c -o hex.o
ar cr myod.a *.o
gcc -o myod myod.c -L. myod.a
3.用动态库
对ascii.c和hex.c制作动态库,然后gcc编译即可
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
gcc -shared -fpic -o myod.so hex.c ascii.c
gcc myod.c myod.so
4.makefile
makefile如下,写好后直接make即可
testmymath:main.o add.o sub.o mul.o div.o
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o:main.c head.h
gcc -c main.c -o main.o
add.o:add.c head.h
gcc -c add.c -o add.o
sub.o:sub.c head.h
gcc -c sub.c -o sub.o
mul.o:mul.c head.h
gcc -c mul.c -o mul.o
div.o:div.c head.h
gcc -c div.c -o div.o
clean:
rm -f *.o testmymath
最新文章
- 【移动前端开发实践】从无到有(统计、请求、MVC、模块化)H5开发须知
- 打造AngularJs2.0开发环境
- asp.net mvc adminlte第一波
- pycharm 4.5在debian下安装
- 利用gitbash上传项目到github
- Spring无配置使用properties文件
- 做SqlDependency总结的一些经验
- opencv 在工业中的应用:圆孔定位
- hdu 4856 Tunnels
- js prototype 和constructor
- [转载]或许您还不知道的八款Android开源游戏引擎
- poj3207
- 设计模式学习(三): 装饰者模式 (附C#实现)
- % 与 format 进行字符串格式化
- 解决sql_mode=only_full_group_by的问题
- DDoS攻击流量检测方法
- Node.js这么下去...
- 解决在vue中axios请求超时的问题
- join 关键字
- Java 多线程 线程的五种状态,线程 Sleep, Wait, notify, notifyAll
热门文章
- ARDUINO UNO数字引脚端口上电后不稳定状态。
- SpringMVC里 form提交到controller404 解决方法
- 性能测试环境搭建:XAMPP1.8+PHPwind9.0安装教程
- Blazor入门笔记(4)-组件的生命周期
- Ali_Cloud++:阿里云部署 Jenkins持续集成自动化部署
- Fiddler插件---将Mapi请求自动转为HTTPRunner测试用例(YAML格式)
- Go gRPC教程-服务端流式RPC(三)
- 如何在Vue中优雅的使用防抖节流
- VUE_shop(第十天)项目的打包优化
- JQUERY滚动加载
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
6 在博客园发表一篇博客,重点写遇到的问题和解决过程
代码部分
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);
实验详情
1.用myod XXX实现Linux下od -tx -tc XXX的功能
只需要输入gcc *.c即可编译成功,新建一个记事本test.txt,里面输入一些随机的东西
2.用静态库
将.o文件生成静态库后,gcc即可
gcc -c ascii.c -o ascii.o
gcc -c hex.c -o hex.o
ar cr myod.a *.o
gcc -o myod myod.c -L. myod.a
3.用动态库
对ascii.c和hex.c制作动态库,然后gcc编译即可
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
gcc -shared -fpic -o myod.so hex.c ascii.c
gcc myod.c myod.so
4.makefile
makefile如下,写好后直接make即可
testmymath:main.o add.o sub.o mul.o div.o
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o:main.c head.h
gcc -c main.c -o main.o
add.o:add.c head.h
gcc -c add.c -o add.o
sub.o:sub.c head.h
gcc -c sub.c -o sub.o
mul.o:mul.c head.h
gcc -c mul.c -o mul.o
div.o:div.c head.h
gcc -c div.c -o div.o
clean:
rm -f *.o testmymath
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);
实验详情
1.用myod XXX实现Linux下od -tx -tc XXX的功能
只需要输入gcc *.c即可编译成功,新建一个记事本test.txt,里面输入一些随机的东西
2.用静态库
将.o文件生成静态库后,gcc即可
gcc -c ascii.c -o ascii.o
gcc -c hex.c -o hex.o
ar cr myod.a *.o
gcc -o myod myod.c -L. myod.a
3.用动态库
对ascii.c和hex.c制作动态库,然后gcc编译即可
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
gcc -shared -fpic -o myod.so hex.c ascii.c
gcc myod.c myod.so
4.makefile
makefile如下,写好后直接make即可
testmymath:main.o add.o sub.o mul.o div.o
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o:main.c head.h
gcc -c main.c -o main.o
add.o:add.c head.h
gcc -c add.c -o add.o
sub.o:sub.c head.h
gcc -c sub.c -o sub.o
mul.o:mul.c head.h
gcc -c mul.c -o mul.o
div.o:div.c head.h
gcc -c div.c -o div.o
clean:
rm -f *.o testmymath
1.用myod XXX实现Linux下od -tx -tc XXX的功能
只需要输入gcc *.c即可编译成功,新建一个记事本test.txt,里面输入一些随机的东西
2.用静态库
将.o文件生成静态库后,gcc即可
gcc -c ascii.c -o ascii.o
gcc -c hex.c -o hex.o
ar cr myod.a *.o
gcc -o myod myod.c -L. myod.a
3.用动态库
对ascii.c和hex.c制作动态库,然后gcc编译即可
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
gcc -shared -fpic -o myod.so hex.c ascii.c
gcc myod.c myod.so
4.makefile
makefile如下,写好后直接make即可
testmymath:main.o add.o sub.o mul.o div.o
gcc main.o add.o sub.o mul.o div.o -o testmymath
main.o:main.c head.h
gcc -c main.c -o main.o
add.o:add.c head.h
gcc -c add.c -o add.o
sub.o:sub.c head.h
gcc -c sub.c -o sub.o
mul.o:mul.c head.h
gcc -c mul.c -o mul.o
div.o:div.c head.h
gcc -c div.c -o div.o
clean:
rm -f *.o testmymath