2017-2018-1 20155223 《信息安全系统设计基础》第4周学习总结
2017-2018-1 学号 《信息安全系统设计基础》第X周学习总结
教材学习内容总结
第十章
Linux提供了一些基于UnixI/O模型的系统级函数,它们允许应用程序打开、关闭、读写文件,提取文件元数据,以及执行I/O重定向。
使用读写函数时容易出现不足值,处理不足值的方法有两种:要么自己编写程序时就预先对这些不足值进行处理,要么应用RIO包,这个包反复读写直到传送完所有请求数据都读取完毕,然后自动处理不足值。
标准I/O库是基于UnixI/O库实现的,并提供一组强大的高级I/O例程。标准I/O比UnixI/O更简洁,但是对于网络应用程序,Unix的更适合。
错误处理
附录内有三种错误风格报告函数:void unix_error(char msg)、void posix_error(int code,char msg)、* void gai_error(int code,char msg)。这些错误报告函数对应的风格就是Unix的错误、Posix的错误及GAI错误。还有一个*void add_error(char msg),这个只是一个用来反馈错误的函数,并不是报告错误的函数。
系统调用版MyOD
Head和Tail
英语好的我一看就知道这两个Linux命令一定和文件的头和尾有关,反正Linux系统下全是文件,包括系统也是文件。
经过百度之后,我确定了我的猜测。head命令可以从头查看代码,tail则是从文档末尾查看,不添加参数就默认从前/后查看十行代码,带参数n就查看到正/倒数第n行。
head就直接让它读取到指定行数,而tail必须在输出字符前先将整个文件读完,然后再倒着将代码输出。
教材学习中的问题和解决过程
- 问题都在代码上。
代码调试中的问题和解决过程
- 问题1:编译好的程序不能直接用命令行执行。
- 问题1解决方案:
上网查!
在main后的括号内添加上这样一条代码:*int argc,char argv[],这样C语言程序就可以直接用Linux命令行启动了。
参考网站见文末。
代码托管
上周考试错题总结
- 已在第三周博客中总结。
其他(感悟、思考等,可选)
再使用Linux命令行编程我就要烦死了!编代码之后有错我不能马上知道,形成可执行文件后运行出错又不能再调完代码之后马上就能看到运行之后的结果,必须重新编译一遍。我一定要装一个Linux版本的CodeBlocks!
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 500行 | 15篇 | 400小时 | |
第一周 | 31/31 | 1/1 | 20/20 | |
第三周 | 24/55 | 2/3 | 24/44 | 知道浮点数怎么储存的 |
第四周 | 177/328 | 17/61 | 现在我的C语言程序也会在Linux命令行下使用了:*) |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:10小时
-
实际学习时间:17小时
-
改进情况:求助图书馆的时间多了。