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.具体尝试如下图:
1071472-20170927192030215-1280145186.png

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.调试程序如下:
1071472-20170927201822419-235197588.png

第二周测试6-Makefile

1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.

2 提交Make过程截图,要全屏,包含自己的学号信息

*************课下把Makefile推送到代码托管平台***************

答案:

  • 1.命令行输入vim Makefile,编辑以下内容(注意Tab的使用):1071472-20170929132503840-614732327.png
  • 2.保存退出后命令行输入make,之后输入./testmymath运行,如下图:1071472-20170929132625544-242828381.png

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);
}
截图展示

1071472-20170929121759169-287497647.png

  • 2.实现方法:ascii值输出是将%c输出转换为%d输出,十六进制输出是将%c输出转换为%x输出。
  • 3.静态库制作如下图:
    1071472-20170929121714653-1246525390.png

  • 4.动态库制作如下图:
    1071472-20170929121731184-1381699168.png

  • 5.makefile文件制作如下图:
    (1)首先,输入vim Makefile,编辑以下内容:
    1071472-20170929163405075-659675685.png
    (2)其次,输入以下命令执行文件:
    1071472-20170929163536965-855669258.png

转载于:https://www.cnblogs.com/l20155233/p/7603433.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值