2014025629《嵌入式系统程序设计》第五周学习总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2014025629《嵌入式系统程序设计》第五周学习总结相关的知识,希望对你有一定的参考价值。

这周我又跟老师学到了很多知识

1.函数原型

(1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

其中,ptr:指向保存结果的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针

函数返回读取数据的个数。

(2)size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

其中,ptr:指向保存数据的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针

函数返回写入数据的个数。

2.fork()函数说明

fork()函数用于从已存在的进程中创建一个新进程,新进程称为子进程,而原进程称为父进程。

使用fork()函数得到的子进程是父进程的一个复制品,从父进程处继承了整个进程的地址空间,而子进程所独有的只有它的进程号、资源使用和计时器等,使用fork()函数,执行速度不是很快。

3.exit()和_exit()函数说明

exit()和_exit()函数都是用来终止进程的。当程序执行到exit()或_exit()时,进程会无条件地停止剩下的所有操作,清除包括PCB在内的各种数据结构,并终止本进程的运行。

_exit()函数的作用是:直接使进程停止运行,清除其使用的内存空间,并清除其在内核中的各种数据结构:

exit()函数则在这些基础上做了一些包装,在执行退出之前加了若干道工序。

4、fread函数和fwrite函数的每个参数的含义

fwrite和fread是以记录为单位的I/O函数,fread和fwrite函数一般用于二进制文件的输入输出。

(1)size_t fread ( void ptr, size_t size, size_t count, FILE stream );

其中,ptr:指向保存结果的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针函数返回读取数据的个数。

(2)size_t fwrite ( const void ptr, size_t size, size_t count, FILE stream );

其中,ptr:指向保存数据的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针函数返回写入数据的个数。

5.wait()和waitpid()函数说明

wait()函数是用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接到了一个指定的信号为止。如果该父进程没有子进程或者他的子进程已经结束,则wait()就会立即返回。
waitpid()作用和wait()一样,但它并不一定要等待第一个终止的子进程,它还有若干选项,如可提供一个非阻塞版本的wait()功能,也能支持作业控制.

6.fork()函数用于从已存在的进程中创建一个新进程,新进程称为子进程,而原进程称为父进程。
使用fork()函数得到的子进程是父进程的一个复制品,从父进程处继承了整个进程的地址空间,而子进程所独有的只有它的进程号、资源使用和计时器等,使用fork()函数,执行速度不是很快。

常见的错误:
数组argv和envp忘记用NULL结束,程序会报错误。

下周继续努力,跟老师学习新的知识。




以上是关于2014025629《嵌入式系统程序设计》第五周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

2014025663《嵌入式系统程序设计》第五周学习总结

2014025654《嵌入式系统程序设计》第五周学习总结

2014025628《嵌入式系统程序设计》第五周学习总结

2014025658《嵌入式系统程序设计》第五周学习总结

2014025667《嵌入式系统程序设计》第五周学习总结

《嵌入式系统程序设计》第五周学习总结