由command processor(即cmd)启动的进程继承command processor的环境变量

时间:2021-11-22 02:43:19

  我们装很多软件都需要配置环境变量,配置的多了,就会好奇环境变量究竟意味着什么?

  这里先把msdn上的Environment variables的部分原文贴出来:

由command processor(即cmd)启动的进程继承command processor的环境变量

  翻译如下:

  每个进程都有包罗环境变量和它们的值的环境块,环境变量有两种:用户环境变量(为每个用户本身设置)和系统环境变量(为所有用户设置)。

  默认的,,一个子进程担任他父进程的环境变量,由command processor(即cmd)启动的进程担任command processor的环境变量,为了给子进程指定一个不一样的环境变量,则需创建一个新的环境块通过指针作为参数传给CreateProcess函数。command processor (措施)供给了set命令来显示他的环境变量块或者是创建新的环境变量,你也可以检察或是改削环境变量,通过选择控制面板中的系统,选择高级系统设置,并点击环境变量。

  每个环境变量块包罗如下格局的环境变量:

    Var1=Value1\0

    Var2=Value2\0

    Var3=Value3\0

    ...

    VarN=ValueN\0\0

  一个环境变量的名字不能包罗等号(=)。

  而环境变量中的很多对象是有差此外用处的,此中path变量中的感化就是,任何措施当打开文件时,系统会从当前文件夹下和path变量所包罗的路径中寻找这个文件夹。在CMD中也一样,cmd中的很多命令,其实都是一段段小措施,通过包罗措施地址的目录,即可以酿成cmd命令。好比我们写了一段措施如下:

  

#include<stdio.h> int main(char* argv[],int argc) { printf("123"); return 0; }

  最后把它编译后生存到了G:/MyFiles 中,名字为cat.exe。这时只要在path中插手G:/MyFiles;点击确定之后,就可以在cmd中编写cat,cmd就会输出123了。所以很多人说Windows不能编写本身的命令,其实是不同错误的。(关于具体如何传参这里不再细讲)。

  而所谓环境变量,也是变量,在cmd中,凭据dos变量的输出要领,输出ehco %SYSTEMROOT%就会输出环境变量systemroot的值:

  此中echo暗示输出,变量前后加%是dos命令变量的输出方法。

  所以从翻译中就可以了解,系统环境变量就可以让所有的用户使用,而用户变量就只可以给本身用啦。

Windows配置:环境变量是个什么玩意儿?

标签:

原文地点:https://www.cnblogs.com/FWFC/p/8954684.html