20145227《信息安全系统设计基础》第十二周学习总结

20145227《信息安全系统设计基础》第十二周学习总结

教材学习内容总结

代码分析中出现的问题与解决汇总

运行testpp.c代码时出现段错误:

  • 解决:问题在于没给pp分配空间就调用了pp[0],毕竟声明的时候只是一个指针,而指针必须要初始化。有两种解决办法:

(1)pp[0] = malloc(20);修改为pp = malloc(20); pp[0] = malloc(20); 然后即可成功。

(2)把pp[0] = malloc(20);去掉[0],这样就分配了20个字节给了pp这个数组指针,再编译运行就ok了。

运行教材P598练习10.1时出错:

  • 解决:
  • 缺少csapp.h的头文件,这是书的作者编写的一个头文件,使用的时候要把此头文件csapp.h和csapp.c文件包含到你的系统中。先到网上下载这两个文件,下载地址(http://download.csdn.net/detail/tzasd89812/4206284);
  • 在命令行下输入sudo mv csapp.h csapp.c /usr/include指令将文件移到/usr/include中;打开csapp.h头文件,在#end if前面加上一句#include <csapp.c>
  • 由于csapp.c中包含线程的一部分,所以编译的时候要加上-lpthread选项,否则很多错误,此时编译运行:

  • 还是出错了。按照提示将代码中的Open,Close换成了open和close,之后成功运行:

main函数的定义:int main(int argc, char *argv[]){}

  • argc是用来表示在命令行下输入命令时的参数个数,包括指令本身;argv[]是用来取得你输入的参数。

  • 涉及到的头文件的用处:

stdio.h         标准输入输出
stdlib.h        C标准函数库
unistd.h        Unix类系统定义符号常量
fcntl.h         定义了很多宏和open,fcntl函数原型
sys/types.h     基本系统数据类型
dirent.h        unix类目录操作的头文件,包含了许多UNIX系统服务的函数原型,例如opendir函数、readdir函数。
termios.h       在Posix规范中定义的标准接口

本周代码托管链接

https://git.oschina.net/20145227/IS-Design-20145227/tree/master/ch12

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0 2/2 20/20
第二周 100/100 1/3 20/40
第三周 200/300 1/4 22/62
第五周 200/500 1/5 22/84
第六周 274/774 1/6 22/106
第七周 127/901 2/8 22/128
第八周 50/951 2/10 22/150
第九周 418/1369 2/12 22/172
第十周 485/1854 2/14 22/194
第十一周 628/2482 3/17 32/226
第十二周 68/2550 2/19 32/258

参考资料

原文地址:https://www.cnblogs.com/m3182218/p/6120086.html