zoukankan      html  css  js  c++  java
  • 2017-2018-1 20155307 《信息安全系统设计基础》第2周学习总结(含课堂测试五)

    课堂内容

    5.共享库

    要求:1.除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
    2.提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

    运行gcc -shared -fpic -o mymath1.so add.c sub.c mul.c div.c,再接着输入gcc -o mymath2 main.c ./mymath1.so指令,以建立动态库

    myod

    ···#include<stdio.h>

    include<stdlib.h>

    define N 500

    main()
    {
    int count=0,num=0;//定义两个变量,一个用于计数
    FILE *fp;//定义一个文件
    char word[N],name[N];
    char str;
    loop:printf("name:");
    scanf("%s",&name);//读取文件的名称
    if((fp=fopen(name,"r"))NULL)//如果文件打开不为空,则往下运行
    {
    printf("找不到此文件 请重新enter ");
    goto loop;
    }
    while(fgets(word,N,fp))//读取文件中的信息,按行读取
    {
    while(1)
    {
    printf("%c ",word[count]);//换码符' ',将光标移到最接近8的倍数的位置,使得后面的输入从此开始.如果所有的数据都紧跟在制表符后面输出。
    if((count+1)%16
    0||word[count+1]'')
    {
    printf(" ");
    while(1)
    {
    printf("%x ",word[num]);//%意思是说读入16进制的整数
    num++;
    if(num%16
    0||word[num]'')//要是到了十六了,或者是根本就为空,那么就换行
    {
    printf(" ");
    break;
    }
    }
    }
    count++;
    if(word[count]
    '') break;
    }
    }
    fclose(fp);//关闭文件
    exit(0);
    }
    ···
    以上是我myod的代码

    编程过程中的问题:

    比较主要的问题是我的windows和Linux的系统无法互相复制粘贴,我结合自己查找和询问同学,总结了以下几种方法:
    1.修改Oracle VM VirtualBox管理器的设置,把“高级”的共享剪贴板改成双向;
    2.下载VMware,安装后即可;
    3.登录微信网页版,使用手机端和网页端传输;
    我用了以上三种方法,没有一个好用的,还好张旭同学给我在虚拟机内部点击了一个“设备”的“安装增强功能0选项,我下载了之后发现依旧不好使,所以我现在也没有解决跨系统复制粘贴的问题,而且虚拟机还连不上网,我也没有解决。

    最后终于解决了,是把“高级”选项中的共享剪贴板改成从主机到虚拟机,两个都改成这样就好了。

  • 相关阅读:
    AVL树
    快速排序
    基数排序LSD_Radix_Sort
    归并排序
    JDBC连接池与工具类
    cookie的基础以及小案例
    javase基础4
    tomcat的request和response小案例
    javase基础3
    Servlet以及一个简单的登录案例
  • 原文地址:https://www.cnblogs.com/zhuanyedajiesanshinian/p/7618091.html
Copyright © 2011-2022 走看看