1

我有交流程序

#include <stdio.h>

int main ()
{
  printf("Hello");
}

在 Windows 上:

我在 Windows 上编译该程序并获得a.exe

现在当我double-clicka.exe

命令窗口打开

a.exe运行

并自动关闭该窗口。

为了克服这个我有两个解决方案

1> 创建一个batch包含以下内容的文件:

a.exe
pause

2> 或getch()在我的代码中添加函数

在 Linux 上

现在我希望在 linux 中发生同样的事情

我已经在 linux get a.out上编译了那个程序,每当我点击它时什么都没有发生?

我制作了一个 shell 脚本:

#!/bin/bash

./a.out &

pause

并通过单击它来运行该脚本,但仍然没有任何反应?


4

2 回答 2

4

你没有看到的是它根本不会打开任何东西。该程序将在后台安静地执行。

为了使输出可见,您需要制作一个 shell 脚本来在终端中运行程序,这可以很简单:

#!/bin/bash
gnome-terminal -x "`dirname \"$0\"`"/a.out

将脚本标记为可执行文件,现在您应该能够双击它并在终端窗口中看到您的程序打开了。请注意,将程序绑定到特定的终端仿真器(如gnome-terminal)可能是一个坏主意,您应该重新考虑为什么需要这种行为。

于 2012-05-21T10:02:18.187 回答
2

Linux 没有区分终端和 GUI 应用程序。

您需要做的是实际配置程序以在终端中运行,或者只是运行终端并在其中执行程序。

于 2012-05-21T10:00:44.657 回答