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

    课堂实验 - myod-系统调用版本

    内容

    1. 参考教材第十章内容

    2. 用Linux IO相关系统调用编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能,注意XXX是文件名,通过命令行传入,不要让用户输入文件名

    3. 不要把代码都写入main函数中

    4. 要分模块,不要把代码都写入一个.c中

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

    截图与代码

    学习中遇到的问题与解决过程

    • 问题1:在加载链接了共享库的模块的时候,出现了找不到共享库的错误(如下图)

    • 问题1解决方案:在网上有查找下资料,大致说的都是

    • 首先在目录下有共享库,所以第一种可能排除,那么最大的可能是第二种:程序找不到该共享库文件

    • 于是我查看了下我的makefile2文件,看看我是怎么链接共享库的:

    • 回想起在学习教材的时候,对于地址写的更详细一点,例如:./main.c

    • 于是我将第二条命令修改为gcc main.c ./libod.so -o prog2l

    • 然后运行一遍命令./prog2l main.c,结果顺利运行出来了

    • 问题2:关于用系统调用编写myod的时候,用man 2 open找不到该函数

    • 问题2解决方案:换一个虚拟机就可以了(原先用的是实验楼的环境,现改成了VritualBox上的虚拟机)

    教材学习内容总结

    • 系统级I/O
    • 错误处理

    教材学习中的问题和解决过程

    • 问题1:教材中的数据类型size_t是什么意思?
    • 问题1解决方案:教材中对此的解释是“表示数据结构大小的首选数据类型”,对此并没有很深的理解,于是百度了一下,解释可归纳为:

    一个基本的无符号整数的C / C + +类型, 它是sizeof操作符返回的结果类型, 该类型的大小可选择。因此,它可以存储在理论上是可能的任何类型的数组的最大大小。
    --来自百度百科

    • 也就是说可以用size_t类型存储任意类型大小的数组

    • 问题2:描述符究竟是什么东西?

    • 问题2解决方案:看了一下教材,大概可以这么概括:应用程序向内核申请打开某文件时,内核返回该文件的描述符,应用程序可用它来标识文件,而对于这个打开文件的所有信息则有内核来记录。

    代码调试中的问题和解决过程

    • 贴士1:教材P626页有引用csapp.h的头文件,但这个是系统自带的吗?
    • 解说1:试着直接这样编译运行,结果提示编译错误
    • 在百度搜索csapp.h,结果显示
    • 这说明是自己编写出来的头文件,并不是系统自带的
    • 想编译成功,需要先将后面零碎的对csapp.h的代码合并编写完才可以

    代码托管

    上周考试错题总结

    结对及互评

    本周结对学习情况

    - [20155308](博客链接)
    - 结对学习内容
        - 课堂作业学习
    

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 1/1
    第二周 300/500 2/3
    第三周 500/1000 1/4
    第四周 921/1300 1/5
    • 计划学习时间:10小时

    • 实际学习时间:6小时

    • 改进情况:运动会结束,会有更多时间来学习了

    参考资料

  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/protectmonarch/p/7673899.html
Copyright © 2011-2022 走看看