在Cygwin中运行C程序并不会产生任何结果

时间:2016-11-04 19:38:04

标签: c windows cygwin exe

在编写一个简单的C程序时,我遇到了" printf"没有产生任何结果。代码:

#include<stdio.h>
int main()
{
printf("Hello World\n");
}

编译并运行后的Cygwin日志:

MMGV@Philipp /cygdrive/c/users/MMGV/Desktop/Programme
$ gcc test.c -o test.exe

MMGV@Philipp /cygdrive/c/users/MMGV/Desktop/Programme
$ test.exe

MMGV@Philipp /cygdrive/c/users/MMGV/Desktop/Programme
$

没有错误信息,根本没有。在Windows GUI中打开生成的.exe也不起作用。 谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

将您的计划更改为

#include<stdio.h>
int main()
{
    printf("Hello World\n");           // add newline
    getchar();                         // wait for an input (newline)
}

因为在Windows中,控制台窗口可能会在您有机会看到之前关闭。

答案 1 :(得分:1)

您没有运行程序。默认情况下,Cygwin shell在路径中没有当前目录。 test.exe已解析为类似Unix的标准实用程序(try which test)。您需要指定当前目录明确性:

$./test.exe 

答案 2 :(得分:0)

这行得通!

#include <stdio.h>
#include <stdlib.h>

int main(void){
  printf("Hello World.\n");
  return EXIT_SUCCESS;
}

cmd:

HP@LAPTOP-VUS0RJO0 /cygdrive/c/cygwin64/home/shri
$ gcc -o first first.c

HP@LAPTOP-VUS0RJO0 /cygdrive/c/cygwin64/home/shri
$ ./first.exe
Hello World.

HP@LAPTOP-VUS0RJO0 /cygdrive/c/cygwin64/home/shri
$