【问题标题】:How to get this click and run effect in linux?如何在linux中获得这种点击运行效果?
【发布时间】:2012-05-21 09:56:42
【问题描述】:

我有一个c程序

#include <stdio.h>

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

在 Windows 上:

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

现在当我在 a.exe

double-click

命令窗口打开

a.exe 正在运行

并自动关闭该窗口。

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

1> 创建一个batch 文件,内容如下:

a.exe
pause

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

在 LINUX 上

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

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

我做了一个shell脚本:

#!/bin/bash

./a.out &

pause

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


【问题讨论】:

  • 真正的 Linux 程序员没有鼠标 ;-)
  • @Mr.32 - 程序将输出打印到 STDOUT。要观看 STDOUT,您需要一个终端。打开一个终端,确保您在正确的目录中,然后使用./a.out 执行它。

标签: c windows linux


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 2012-01-14
    • 2011-12-12
    • 2021-02-24
    • 2022-11-10
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多