无法通过cmd运行C程序

000*_*000 5 c cmd

大家好,我正在学习C,并试图找出如何通过命令控制台cmd运行它.我和Mingw一起安装了eclipse并将它们添加到路径中:

C:\ MinGW的\ BIN \; C:\ MinGW的\ MSYS\1.0\BIN

我在notepad ++上编写了这个程序,用于快速测试并将其保存到C:\ test.c以及文件夹C:\ Users\Pikachu\Music\C代码,同时我试图找出它:

#include <stdio.h>

int main()
{
    printf("Hey, Buddy!\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在我输入的cmd控制台上:

c:\>gcc test.c 
Run Code Online (Sandbox Code Playgroud)

并收到错误消息:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/id.exe: cannot ope
n output file a.exe: Invalid argument
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

当我输入:

c:\>cd c:\Users\Pikachu\Music\c code
Run Code Online (Sandbox Code Playgroud)

然后:

gcc test.c

它只是跳过一条线,好像什么也没发生,然后回到原点:

c:\Users\Pikachu\Music\c code>gcc test.c

c:\Users\Pikachu\Music\c code>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人知道发生了什么并且可以帮助我,如果我能从cmd看到"嘿,好友",我会很高兴的!有没有人也知道为什么我从c:\得到运行它的错误消息,当我从Music\c code\test.c文件夹运行它时什么也没有,即使我应该运行相同的文件test.c?

我已经尝试过搜索并获取有关计算机如何无法链接到正确的dll的参考资料但是我不确定如何将此实现到我的具体问题.

哦,好奇的是,当我试图在c:\中保存另一个文件时,我收到一条消息说我即使在我做完这件事前5分钟也没有这样的许可.任何见解?

谢谢你的帮助!

hug*_*omg 4

当您运行gccC 源文件时,它将生成一个可执行文件。我相信它是a.exe默认调用的,但我建议使用以下-o选项命名它:

gcc text.c -o test.exe
Run Code Online (Sandbox Code Playgroud)

文件成功编译后,运行可执行文件来向世界问好:

c:\Users\Pikachu\Music\c code> .\test.exe
Run Code Online (Sandbox Code Playgroud)

至于您遇到的第一个错误,可能与 gcc 无法在根文件夹上创建输出可执行文件有关c:。出于这个原因,我建议您对用户拥有的某个文件夹进行编码,而不是在系统文件夹上进行编码。


顺便说一句,gcc 支持许多其他选项。我强烈建议使用-Wall打开警告并选择要遵循的 C 标准版本(-std=c99-ansi-pedantic标志一起)。