zoukankan      html  css  js  c++  java
  • Windows配置:环境变量是个什么玩意儿?

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

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

      翻译如下:

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

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

      每个环境变量块包含如下格式的环境变量:

        Var1=Value1

        Var2=Value2

        Var3=Value3

        ...

        VarN=ValueN

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

      而环境变量中的很多东西是有不同的用处的,其中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命令变量的输出方式。

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

  • 相关阅读:
    高仿富途牛牛-组件化(三)-界面美化
    高仿富途牛牛-组件化(二)-磁力吸附
    高仿富途牛牛-组件化(一)-支持页签拖拽、增删、小工具
    Cef3 学习资料
    QCustomplot使用分享(八) 绘制图表-加载cvs文件
    Electron桌面应用:环境搭建
    Qt疑难问题-模态窗口父类被析构
    Qt线程实现分析-moveToThread vs 继承
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。
    asp.net中的ListBox控件添加双击事件
  • 原文地址:https://www.cnblogs.com/FWFC/p/8954684.html
Copyright © 2011-2022 走看看