使用没有管理员权限的MinGW进行编译或访问命令行

时间:2011-03-01 11:16:57

标签: c windows windows-xp mingw sysadmin

我在学校安装了DevC ++,所以我可以编译C应用程序,但每次尝试编译时都会出现错误,读取命令提示符会被sysadmin禁用。

我怎么能编译?

编译器是MinGW。

4 个答案:

答案 0 :(得分:2)

与负责学校计算机的人员交谈并告诉他/她您想学习编程,因此需要访问命令提示符。提供CLI总是一件好事。坦率地说:禁用访问命令行? WTF?这完全没有安全感。

答案 1 :(得分:1)

我在学校遇到了同样的问题。我使用一个从控制台读取文本的小程序解决了它,并将其用作system()的参数(在C ++中)。它对我来说效果很好,虽然目前的工作目录等没有保存在命令之间,但可以使用&&来连接命令并立即执行它们。万一你的老师不会让你访问cmd ...

答案 2 :(得分:0)

听起来非常严格的限制。我不知道在没有重新启用命令提示符的情况下有很好的方法。你确定它的编译需要命令提示符吗?我认为它正在运行需要它的应用程序,如果有的话。

但是,在尝试这样的事情之前,尝试安装Code :: Blocks并使用它代码是个不错的主意。 C :: B比DevC ++更现代,并且可能不需要此权限来编译和运行不需要控制台窗口的应用程序。作为奖励,我非常确定C :: B与DevC ++项目文件和devpaks兼容。

作为一个额外的解决方案,如果您正在处理Windows XP系统,大多数情况下,一些简单的注册表修改可以重新启用这些功能。即使禁用了regedit,您仍然可以直接使用API​​编辑注册表;互联网上可能会有这样的工具。

答案 3 :(得分:0)

我会尝试以下解决方法:创建一个包含内容的批处理文件(扩展名为.bat):

set path=%path%;c:\myfolder\mingw\bin
gcc hello.c >out.txt
start out.txt

使用命令提示符并不是很舒服,因为您通常希望在启动编译器之前设置一些环境变量。当您有批处理文件时,只需双击它即可。您也可以在最后添加pause