2012-05-21 24 views
1

我有交流計劃如何在linux中獲得此點擊並運行效果?

#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上編譯該程序得到a.out並且每當我點擊時什麼也沒有發生?

我已經作出一個shell腳本:

#!/bin/bash 

./a.out & 

pause 

和運行通過點擊它,但仍然沒有發生該腳本?


+5

真正的Linux程序員沒有鼠標;-) –

+2

但是linux用戶可能有 –

+0

@ Mr.32 - 程序打印輸出到STDOUT。要觀看STDOUT,您需要一個終端。打開一個終端,確保你在正確的目錄下,並用'./a.out'執行它。 – ArjunShankar

回答

4

你沒有看到的是它不會打開任何東西;該程序將在後檯安靜地執行。

爲了使輸出可見,你需要做一個shell腳本運行在終端的程序,它可以是如此簡單:

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

馬腳本爲可執行,現在你應該能夠雙擊它並在終端窗口中看到你的程序打開。請注意,將程序綁定到特定的終端仿真程序(如gnome-terminal)可能是一個糟糕的主意,您應該重新考慮爲什麼需要這種行爲。

2

Linux在終端和GUI應用程序之間沒有區別。

你需要做的是實際配置程序在終端中運行,或者運行一個終端並在其中執行程序。

+0

如何配置程序運行終端? –

+0

@ Mr.32我非常肯定你可以通過屬性菜單(通過右鍵單擊)來實現。但有可能你實際上需要創建一個.desktop文件。 http://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html –