20155233刘高乐 第二周课堂实践以及MyOD
1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
2. 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
课下把代码推送到代码托管平台**
答案:
1.在命令行输入gcc -shared -fpic -o libv20155233.so 20155233sub.c 20155233add.c 20155233mul.c 20155233div.c
2.输入gcc -o libv20155233 20155233main.c ./libv20155233.so
3.完成后就可以运行./libv20155233
了
4.具体尝试如下图:
1. 用gcc -g编译vi输入的代码
2. 在main函数中设置一个行断点
3. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
3. 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
课下把代码推送到代码托管平台**
答案:
1.首先,输入gcc 20155233main.c 20155233add.c 20155233sub.c 20155233div.c 20155233mul.c -g -o text
2.其次,输入cgdb text
进入调试界面
3.调试程序如下:
第二周测试6-Makefile
1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
2 提交Make过程截图,要全屏,包含自己的学号信息
课下把Makefile推送到代码托管平台**
答案:
- 1.命令行输入
vim Makefile
,编辑以下内容(注意Tab的使用): - 2.保存退出后命令行输入
make
,之后输入./testmymath
运行,如下图:
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
3. main与其他分开,制作静态库和动态库
4. 编写Makefile
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
6 在博客园发表一篇博客,重点写遇到的问题和解决过程
答案:
- 1.代码实现:
#include<stdio.h>
void main(){
char filename[50];
printf("please input file's name;\n");
scanf("%s",filename);
ascii(filename);
change(filename);
}
void ascii(char *filename)
{FILE *fp;
char ch;
fp=fopen(filename,"r");
ch=fgetc(fp);
printf("ascii码输出为:\n");
while(ch!=EOF)
{if(ch=='\n') printf("\n");
else printf("%4d",ch);
ch=fgetc(fp);
}
}
void change(char *filename)
{
FILE *fp;
char ch;
printf("16进制输出为:\n");
fp=fopen(filename,"r");
ch=fgetc(fp);
while(ch!=EOF)
{
if(ch=='\n') printf("\n");
else printf("%4x",ch);
ch=fgetc(fp);
}
fclose(fp);
}
截图展示
2.实现方法:ascii值输出是将%c输出转换为%d输出,十六进制输出是将%c输出转换为%x输出。
3.静态库制作如下图:
4.动态库制作如下图:
5.makefile文件制作如下图:
(1)首先,输入vim Makefile
,编辑以下内容:
(2)其次,输入以下命令执行文件:
20155233刘高乐 第二周课堂实践以及MyOD的更多相关文章
- # 第二周课堂实践以及MyOD
第二周课堂实践以及MyOD 之前使用的虚拟机出现问题被我删掉了,开始学着使用Mac系统自带的终端.在课堂上出现了问题,询问王雄老师也没有解决,课下先使用了实验楼环境进行实验,后来又在Mac重新进行了尝 ...
- # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod
20155337 2017-2018-1 <信息安全系统设计基础>第二周课堂实践+myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多 ...
- 20155306 2017-2018-1《信息安全系统设计》第二周课堂测试以及myod的实现
20155306 2017-2018-1<信息安全系统设计>第二周课堂测试以及myod的实现 第二周课堂测验: (注:前两项在课堂已提交,在此不做详解) 第一项: 每个.c一个文件,每个. ...
- 20155233 刘高乐 Exp9 Web安全基础
WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览器输入localhost:8080/WebGoat,进入WebGoat开始实验 Cross- ...
- 20145209刘一阳《JAVA程序设计》第二周课堂测试
第二周课堂测试 1.if关键字后面的小括号内,表达式的值可以为10.(B) A .true B .false 2.表达式0xaa | 0x55的值为(C) A .FF B .0 C .255 D .1 ...
- 20155320信息安全系统设计第二周课堂考试总结及myod的实现
20155320 信息安全系统设计第二周课堂考试总结及myod的实现 第二周测试一二已在课上提交 第二周测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main ...
- 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)
20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...
- 20155326 第12周课堂实践总结(二)String类和Arrays类的学习
20155326 第12周课堂实践总结(二)String类和Arrays类的学习 实践二 Arrays和String单元测试 实践题目 在IDEA中以TDD的方式对String类和Arrays类进行学 ...
- 《Java程序设计》第15周课堂实践总结
<Java程序设计>第15周课堂实践总结 实践一 教材代码检查-p242 要求 在IDEA中或命令行中运行P242 StackTraceDemo2.java 代码运行结果和教材一致吗?为什 ...
随机推荐
- MS10-070 ASP.NET Padding Oracle信息泄露漏洞项目测试
MS10-070 ASP.NET Padding Oracle信息泄露漏洞1 漏洞描述:ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞.成功利用此漏洞的攻击 ...
- Mac下安装Spark
1.Scala 官网下载scala安装包后解压,路径随意. 编辑/etc/bash_profile添加$SCALA_HOME并修改相应PATH 2.SSH无密码登陆 ssh-keygen -t rsa ...
- css3-鼠标经过产品列表 图片放大 显示文字 (兼容IE9以上 不含IE9)
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <title&g ...
- Centos7 之目录处理命令(八)
linux中 关于目录 有几个重要概念 一个是 / 根目录 还有一个当前用户的家目录 比如 root用户的家目录是 /root 普通用户的家目录是/home/xxx 下 root登录 默认家目录 ...
- php redis中文手册
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/ow ...
- 一分钟掌握Spring中bean的生命周期!
Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean 的别名只能维持 ...
- python之九九乘法表
for i in range(1,10): print( ) for j in range(1,i+1): print('%d*%d=%d '%(i,j,i*j),end="") ...
- Linux 带宽、CPU、内存占用情况
iftop 查看带宽占用情况(总)yum install -y iftop 安装iftopnethogs 查看进程流量 curl http://218.5.73.233:8060/ip.php 查看出 ...
- 精读 SBAR SDN flow-Based monitoring and Application Recognition
目录 架构 测量模块 分类模块 具体实现 实验:最后接入巴塞罗那的校园网流量测试: SBAR: SDN flow-Based monitoring and Application Recognitio ...
- 学习使用 ARM 的 math 库,据说 速度比C标准库 自带的 快 几十倍 到几百倍
1.首先 添加 库 到 工程 ,路径 如下 C:\Keil\ARM\CMSIS\Lib\ARM 2.包含头文件以及在 工程里 添加 头文件 路径如下 C:\Keil\ARM\CMSIS\Includ ...