zoukankan      html  css  js  c++  java
  • 学号20145220《信息安全系统设计基础》第10周学习总结

    学号20145220《信息安全系统设计基础》第10周学习总结

    教材学习内容总结

    第十章 系统级I/O
    附录A中主要讲了这本书中的错误处理方式,有一个方法——错误处理包装函数,这个思想很有意思,相当于给基本函数再套上一层皮,然后run这个皮,发现了错误就终止,完全正确的话就跟没有这层皮一样。

    错误处理
    1.错误处理风格
    (1)Unix风格
    遇到错误后返回-1,并且将全局变量errno设置为指明错误原因的错误代码;

    如果成功完成,就返回有用的结果。

    (2)Posix风格
    返回0表示成功,返回非0表示失败;

    有用的结果在传进来的函数参数中。

    (3)DNS风格
    有两个函数,gethostbyname和gethostbyaddr,失败时返回NULL指针,并设置全局变量h_errno。

    (4)错误报告函数
    void unix_error(char msg) / unix-style error /
    {
    fprintf(stderr, "%s: %s ", msg, strerror(errno));
    exit(0);
    }
    /
    $end unixerror */

    void posix_error(int code, char msg) / posix-style error */
    {
    fprintf(stderr, "%s: %s ", msg, strerror(code));
    exit(0);
    }

    void dns_error(char msg) / dns-style error */
    {
    fprintf(stderr, "%s: DNS error %d ", msg, h_errno);
    exit(0);
    }

    void app_error(char msg) / application error */
    {
    fprintf(stderr, "%s ", msg);
    exit(0);
    }
    2.错误处理包装函数
    Unix风格
    成功时返回void,返回错误时包装函数打印一条信息,然后退出。

    void Kill(pid_t pid, int signum)
    {
    int rc;

    if ((rc = kill(pid, signum)) < 0)
    unix_error("Kill error");
    

    }
    Posix风格
    成功时返回void,错误返回码中不会包含有用的结果。

    void Pthread_detach(pthread_t tid) {
    int rc;

    if ((rc = pthread_detach(tid)) != 0)
    posix_error(rc, "Pthread_detach error");
    

    }
    DNS风格
    struct hostent *Gethostbyname(const char *name)
    {
    struct hostent *p;

    if ((p = gethostbyname(name)) == NULL)
    dns_error("Gethostbyname error");
    return p;
    

    }
    视频学习内容总结
    ls命令
    ls功能:读取文件名和文件属性,按照字典序排序后输出。
    常用的命令行选项:
    ls -l 以长格式的形式查看当前目录下所有可见文件的详细属性
    ls -a 列出的内容包含以“.”开头的文件
    ls -lu 最后访问时间
    ls -s 以块为单位的文件大小
    ls -t 按时间排序
    ls -F 显示文件类型
    ls -l
    ls -l 的输出每行都包含7个字段
    模式 每行的第一个字符表示文件类型,“-”代表普通文件,“d”代表目录文件。
    链接数 指该文件被引用的次数
    文件所有者 指出文件所有者的用户名
    组 指出文件所有者所在的组
    大小 显示文件的字节数
    最后修改时间 文件的最后修改时间
    文件名 文件名

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    参考资料

  • 相关阅读:
    stl的erase()陷阱--迭代器失效总结
    .NET Framework 概述
    C#在代码中编写输出debug信息-类Debug的使用
    C# 开发的windows服务 不能调试——讨论整理
    C#开发windows服务如何调试——资料整理
    iis深入学习资源
    网站因权限问题报错
    数据库建表经验总结——建表现象—sql查询疑惑
    java8大基本类型
    存储过程中的事务
  • 原文地址:https://www.cnblogs.com/hxf5220/p/6083037.html
Copyright © 2011-2022 走看看