linux环境变量操作
《Unix环境高级编程》中第七章讲到,对环境变量进行操作的函数有:
putenv---取形式为“name=value”的字符串,将其放到环境表中。
setenv---将name设置为value。
unsetenv---删除name的定义。
并且有下列一段话:
注意putenv和setenv的区别。
setenv必须分配存储区
,以便依据其参数创建“name=value”的字符串。同时,
putenv则无需将传送给它的参数字符串直接放到环境中
。
我先问下,这个地方是不是说反了?
还有一个问题。
书上将增加一个字符串和修改一个现有的字符串要困难得多。环境表和环境字符串通常占用的进程地址空间的顶部,所以不能像高地址方向(向上)扩展;同时
不能移动在它之下的各栈帧,所以不能向低地址方向(向下)扩展
。两者组合使得该地址空间的长度不能再增加。
这个地方,为什么不能移动在它之下的各栈帧呢?
sodet
10 years, 5 months ago