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 |