zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155310 《信息安全系统设计基础》第二周学习总结

    2017-2018-1 20155310 《信息安全系统设计基础》第二周学习总结

    第二周测试3-gdb测试

    要求

    1. 用gcc -g编译vi输入的代码

    2. 在main函数中设置一个行断点

    3. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点

    4. 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

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

    •运行截图

    第二周测试4-静态库的测试

    要求

    1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?

    2. 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

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

    使用AR工具创建加减乘除四个模块的静态库:

    gcc -c add.c sub.c mul.c div.c

    ar rcs mymath.a add.o sub.o mul.o div.o

    然后编译和链接main.o和mymath.a:

    gcc -c main.c

    gcc -static -o 20155310 main.o ./mymath.a

    •最后运行程序,结果如下:

    •运行截图

    第二周测试5-共享库

    要求

    1. 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?

    2. 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

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

    首先调用编译器驱动程序,创建共享库:

    gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c

    gcc -o share5310 main.c ./mymath.so

    然后运行。

    •运行截图

    第二周测试6-Makefile

    要求

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

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

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

    用vim创建makefile
    代码如下:

    
    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
    add.o: add.c head.h
    gcc -c add.c
    sub.o: sub.c head.h
    gcc -c sub.c
    mul.o: mul.c head.h
    gcc -c mul.c
    div.o: div.c head.h
    gcc -c div.c
    
    

    •运行截图

    myod

    要求

    1 复习c文件处理内容

    2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能

    1. main与其他分开,制作静态库和动态库

    2. 编写Makefile

    5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

    6 在博客园发表一篇博客,重点写遇到的问题和解决过程

    1.打开文件vim m5310.c
    输入编译出来的函数

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        char ch;
        FILE *fp1;
        if((fp1=fopen("hello.c","r"))==NULL)
        {
            printf("ss");
            exit(0);
        }
    
        while((ch=fgetc(fp1))!=EOF)
        {
            printf("%x %c ",ch,ch);
    
    
        }
    
        fclose(fp1);
     return 0;
    }
    

    2.编译 gcc m5310.c
    3.od -tx -tc hello.c
    4../a.out
    •运行截图

    码云链接https://gitee.com/bestiisjava2017/m20155310

  • 相关阅读:
    一些网站后台模板源码分析 Particleground.js 验证码
    C# 接口的作用浅谈举例(转)
    C# 批量修改文件名
    12306抢票软件相关接口以及数据格式
    StackExChange.Redis for C# 中文文档
    asp.net core 3+ 修改view后自动重新编译运行
    ASP.NET MVC https全局配置
    c#DateTime与unix时间戳互相转换
    mongodb创建管理员用户
    Office365激活方法(无需密钥)
  • 原文地址:https://www.cnblogs.com/m20155310/p/7618222.html
Copyright © 2011-2022 走看看