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

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

实验楼实验总结

I/O实验操作

    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);     size_t fread从给定流 stream 读取数据到ptr 所指向的数组中。     ptr:含义是指向带有最小尺寸 size*nmemb 字节的内存块的指针。     size:要读的每个数据项的字节数,单位是字节     nmemb:要读count个数据项,每个数据项size个字节.     stream:输入流。     size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);     size_t fwrite用于对指定文件流进行写操作。     函数里面的函数同上。     fopen("stu.txt","wb")这句代码的意思是:可以打开stu.txt文件,wb执行只写文件。 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170520183439619-333020003.png)      scanf()函数从控制台往里面输入。     fclose();函数。 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170520184117572-1487630849.png)

linux下进程相关的基本系统调用

    1.fork()函数:用于从已存在的进程中创建一个新进程。 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170520184705900-2097406771.png)     2.execlp("ps","ps","-ef",NULL)这个函数相当于调用“ps -ef”用于查看当前所有的进程     3.execl("/bin/ps","ps","-ef",NULL)这个函数要注意写ps的完整路径。结果同上面的函数。     4.execle("/usr/bin/env","env",NULL,envp)这个函数也要指出env的完整路径,envp是指针     5.execve("/usr/bin/env",arg,envp)通过构造指针数组的方式来传递参数,注意参数列表一点要以NULL作为结尾标识符。     6.exit()和_exit() ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170520190033650-341716849.png)     7.waitpid(pc,NULL,WNOHANG)调用waitpid()函数且父进程不堵塞 ![](http://images2015.cnblogs.com/blog/1150707/201705/1150707-20170520190255728-1647688636.png)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 9篇 180小时 熟悉了Linux,vi,gcc
第一周 200/200 1/1 20/20 学会应用vi、gdb和makefile
第二周 400/600 1/2 20/40 学习了如何安装交叉编译工具,Bootloader的配置与编译
第三周 600/1200 1/3 20/60 知道了I/O的标准,知道了一些控制进程函数的应用
第四周 800/2000 1/4 20/80
第五周 800/2800 1/5 20/100
第六周 600/3200 1/6 20/120
第七周 600/2800 1/7 20/140
第八周 600/4400 1/8 20/160
第九周 600/5000 1/9 20/180
posted @ 2017-05-22 10:43  2014025653ZY  阅读(141)  评论(0编辑  收藏  举报