C可执行文件立即返回

时间:2016-07-23 21:48:09

标签: c gcc

我安装了GCC编译器来编写一些C代码,但是当我导航到目录并使用命令gcc -o helloworld helloworld.c它在我的桌面上像正常一样生成可执行文件,但是当我运行它时,可执行文件关闭

我不认为代码是问题所在,但这是可能的。

#include <stdio.h>

int main()
{
  printf("Hello world\n");
  return 0;
}

2 个答案:

答案 0 :(得分:5)

问题在于Windows对运行非GUI程序的支持不足。

在Windows下运行程序的常用方法是双击资源管理器窗口中的可执行文件。对于像你这样只打印到标准输出的程序,这将为程序的输出打开一个新窗口,程序将运行并快速完成,Windows将立即关闭窗口,可能在你有机会之前看到它。

一个常见的解决方法是在程序结束时添加一些内容,例如调用getchar(),以使程序等待输入。

另一种解决方案是从命令提示符运行程序。然后它的输出将显示在当前窗口而不是临时窗口中,您将看到程序的输出,然后是新的提示。如果以这种方式运行,并且不需要添加getchar(),并且会使程序在终止之前等待输入。

Windows操作系统强调GUI程序而不是使用纯文本输入和输出的程序。 C是在不同类型的环境中开发的(当然,实现C for Windows支持图形操作)。

答案 1 :(得分:3)

您的代码中遗漏了这一行/var/lib/jenkins/.ssh

getchar()

注意: 但是,在另一个答案中,这不是@Keith Thompson explains的解决方案。相反,这是一种方法,您可以强制程序退出,直到它在控制台窗口退出之前等待按键。

另一种方式(不使用#include <stdio.h> int main() { printf("Hello world\n"); getchar(); return 0; }

打开命令提示符getchar()),然后导航到程序目录并从那里运行程序。你会发现窗口不再消失,而是保持打开状态。