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 |
|