笔记(17) 第四章 服务器程序框架初步:进程的命令行参数与环境变量,fopen(),feof(),ferror(),clearerr(),

(106)本章程序,是继续完善通信架构。添加了一些功能,可以读取配置文件的内容到内存中的容器。再就是添加了读取与修改命令行参数与环境变量的代码。因为这是学习,从没有学习过这些知识,接触过这样的代码,所以暂时无法总结代码。只有零散的学会了所有新的知识,并理解后,才可以总结本阶段的代码程序。

使用进程的栈空间里栈指针以上的命令行参数与环境变量参数的前提,是了解下这些数据是怎么生成到进程的线性空间里的。如以下图:

在这里插入图片描述

++ 根据此图分析代码的流程,是在系统内核制作进程时,完成字符串数据的生成与填充的:

在这里插入图片描述

++ 上图调用了 copy_strings() 函数来向进程空间传递字符串:

在这里插入图片描述

++ 生成这些字符串还不够,还要为这些字符串生成对应的数组 argv[] 数组与 environ[] 数组,由 create_tables() 函数完成,在最上面。

(107) 补充一下源代码里要用到的 系统函数,fopen() ,要包含头文件 <stdio.h>:

在这里插入图片描述
在这里插入图片描述

(108)另一个系统函数, feof() :

在这里插入图片描述

(109) 函数 ferror():

在这里插入图片描述

(110) clearerr() 函数:

在这里插入图片描述
在这里插入图片描述

(111) 今天开始整理源代码,精简注释,并排版后给出测试结果,随后开始给出源代码:

在这里插入图片描述

++ 关于修改进程名的测试结果:

在这里插入图片描述

另外为了支持 auto 类型推导,需要使用 c++11 及其以上的语法标准: g++ -std=c++11 才可以

(112)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值