c - Windows 10 上的 Cygwin 和 MinGW
问题描述
我的 Windows 10 机器上已经安装了 Cygwin。因为我开始在 Windows 环境中使用套接字编程,所以我想看看使用 MinGW。
我的机器上都有它们,但想看看它们之间“热交换”的简单方法。这里有一个先前的问题:Cygwin 上的 GCC 与 MinGW 共存,它具有以下 .cmd 文件:
@echo off
rem file: start cmd with cygwin's path
cmd.exe /k path=C:\cygwin\bin;%path%
现在,如果我以管理员身份运行它,会发生一些我目前不明白的事情:
- 如果导航到
control panel -> system -> advanced system settings -> Advanced tab -> Environment Variables -> edit path
- 没有显示... - 但是,如果我只是简单地输入
path
cmd 提示符,它会显示C:\cygwin\bin
.
所以我想我的问题是:
一个。以上有什么区别?
湾。如果 .cmd 文件添加了一个路径项,那么取出一个最简单的方法是什么?
我的想法是,如果我的路径中没有任何内容,那么gcc --version
在 cmd 提示符中输入应该会显示一个错误,由于上面的第 2 点,它目前没有。
希望我说得有道理。一如既往地感谢任何帮助。
抢
编辑 1:我发现以下内容:从操作系统级别配置中删除环境变量的命令行
它具有以下命令提示符:
REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V FOOBAR
这用于删除系统变量FOOBAR
。现在,如果比我更有经验的人可以指出如何删除系统变量的一部分的方向......
解决方案
1.
有两种不同的 PATH,一种是系统范围的,一种是用户的。后者是从系统构建的,并由设置内容扩展。
生成的 PATH 只是程序启动时的基础。如果 CMD 执行你的小批量,它会C:\cygwin\bin
添加到这个现有列表中。这个 PATH 只对这个 CMD 实例有效。
2.
好吧,我没有好主意...您将如何从 PATH 的列表中选择要删除的单个路径?按索引,按内容,按什么?
可能有一些方法可以使用现有的命令,如“for”,但为什么路径在 PATH 中呢?
如果您希望有两种不同的环境来使用 Cygwin 或 MinGW 工具,我建议您设置系统和/或用户的基本 PATH(通过设置对话框)而不使用这两种工具。然后编写两小批打开 CMD 并预先添加(或者我更喜欢,追加)相应的路径。
顺便说一句,MinGW 不是已经设置了一个开始菜单条目吗?
推荐阅读
- python - 输入列表 Python 的列表(例如 input() [[1,2,3],[4,5,6]])
- kubernetes - 在 Kubernetes 集群上使用 Jmeter GUI 运行 Perf 测试
- google-cloud-platform - GCP Identity Aware Proxy 无法识别我创建的允许访问 ip 范围“35.235.240.0/20”的防火墙规则
- vb.net - 如何使用 Object 类型变量访问类的属性?
- javascript - 在 Rails 6 中运行 easyAutocomplete 时出错 - easyAutocomplete 不是函数
- c++ - Node* p 和 Node * p 有什么区别?
- python - 将范围索引转换为日期时间索引时出错
- linux - bigbluebutton 在 Docker 中是否支持 html5?
- node.js - app.sendFile() 不起作用,而且 __dirname 也不起作用
- java - 我可以在 Java 的类方法中使用类变量吗?