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的更多相关文章

  1. # 第二周课堂实践以及MyOD

    第二周课堂实践以及MyOD 之前使用的虚拟机出现问题被我删掉了,开始学着使用Mac系统自带的终端.在课堂上出现了问题,询问王雄老师也没有解决,课下先使用了实验楼环境进行实验,后来又在Mac重新进行了尝 ...

  2. # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod

    20155337 2017-2018-1 <信息安全系统设计基础>第二周课堂实践+myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多 ...

  3. 20155306 2017-2018-1《信息安全系统设计》第二周课堂测试以及myod的实现

    20155306 2017-2018-1<信息安全系统设计>第二周课堂测试以及myod的实现 第二周课堂测验: (注:前两项在课堂已提交,在此不做详解) 第一项: 每个.c一个文件,每个. ...

  4. 20155233 刘高乐 Exp9 Web安全基础

    WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览器输入localhost:8080/WebGoat,进入WebGoat开始实验 Cross- ...

  5. 20145209刘一阳《JAVA程序设计》第二周课堂测试

    第二周课堂测试 1.if关键字后面的小括号内,表达式的值可以为10.(B) A .true B .false 2.表达式0xaa | 0x55的值为(C) A .FF B .0 C .255 D .1 ...

  6. 20155320信息安全系统设计第二周课堂考试总结及myod的实现

    20155320 信息安全系统设计第二周课堂考试总结及myod的实现 第二周测试一二已在课上提交 第二周测试3-gdb测试 用gcc -g编译vi输入的代码 在main函数中设置一个行断点 在main ...

  7. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  8. 20155326 第12周课堂实践总结(二)String类和Arrays类的学习

    20155326 第12周课堂实践总结(二)String类和Arrays类的学习 实践二 Arrays和String单元测试 实践题目 在IDEA中以TDD的方式对String类和Arrays类进行学 ...

  9. 《Java程序设计》第15周课堂实践总结

    <Java程序设计>第15周课堂实践总结 实践一 教材代码检查-p242 要求 在IDEA中或命令行中运行P242 StackTraceDemo2.java 代码运行结果和教材一致吗?为什 ...

随机推荐

  1. ZT Android4.2关于bluetooth在HAL层的分析(1)

    我的电子杂烩饭 http://blog.sina.com.cn/wuchuchu2012 [订阅][手机订阅] 首页 博文目录 图片 关于我 正文 字体大小:大 中 小 Android4.2关于blu ...

  2. select poll epoll Linux高并发网络编程模型

    0 发展历程 同步阻塞迭代模型-->多进程并发模型-->多线程并发模型-->select-->poll-->epoll-->... 1 同步阻塞迭代模型 bind( ...

  3. CADisplayLink分析

    1.固定频率定时器: 2.UI帧率性能检测: 3.cpu动画控制器:

  4. 2、Android-UI(关于Nine-Patch图片)

    实例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  5. 查看WIFI连接的信号强度

    netsh wlan show interface (netsh wlan show interface) -match '^\s+Signal' -replace '\s+Signal\s+:\s+ ...

  6. SSM框架优缺点和spring boot 比起优缺点是什么?

    一.SSM优缺点应该分开来说的,比如 1)spring 不说了,核心ioc.aop技术,ioc解耦,使得代码复用,可维护性大幅度提升,aop提供切面编程,同样的增强了生产力. 2)spring mvc ...

  7. Python 有用的 map() deduce() filter() 函数

    #!/usr/bin/python#5!+4!+3!+2!+1! #give 3 return 3*2*1def jiechen(n): N = map(lambda x:x+1,range(n)) ...

  8. useradd添加用户

    sudo useradd -m -s /bin/bash $user sudo passwd $user linux useradd/userdel 命令 转自:http://hi.baidu.com ...

  9. oracle查询用户的权限

    DBA_* 描述的是数据库中的所有对象 ALL_* 描述的是当前用户有访问权限的所有对象 USER_* 描述的是当前用户所拥有的所有对象 查看所有用户:  select * from dba_user ...

  10. luogu11月月赛T3咕咕咕(组合数学)

    题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...