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

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

课堂实践内容

1.参考教材第十章内容

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

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

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

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

  • *file改变成int型 标准I/O函数里的fopen函数换成系统调用的open函数
  • fgets改变成读取整个长度字符的read
  • 关闭文件的fclose改变成关闭文件描述符close

教材内容总结

  • 打开和关闭文件
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open(char *filename,int flags,mode_t mode);

flags分O_RDONLY:只读、O_WRONLY:只写、O_RDWR:可读可写

include<unistd.h>
int close(int fd);
  • 读写文件
#include<unistd.h>
ssize_t read(int fd,void *buf,size_t n);
ssize_t write(int fd,const void *buf,size_t n);

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

  • 问题1:对打开文件的返回值编译有错误
  • 问题1解决方案:C语言中打开文件的返回值是指针,而lunix返回值是int型

代码托管

上周考试错题总结

  • gcc-c会调用()编译器。
  • 无论什么样的操作系统,ISA或者目标文件格式,基本的链接概念是通用的。(错误)P465

其他(感悟、思考等,可选)

对代码不熟悉导致编程出问题,写代码速度慢,要好好复习,课下总结。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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
原文地址:https://www.cnblogs.com/rhl20155319/p/7674758.html