1

私はACプログラムを持っています

#include <stdio.h>

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

Windowsの場合:

そのプログラムをWindowsでコンパイルし、a.exeを取得します

今私double-clicka.exeを使っているとき

コマンドウィンドウが開きます

a.exeが実行されます

そのウィンドウを自動的に閉じます。

これを克服するために私は2つの解決策を持っています

1>batch次の内容のファイルを作成します。

a.exe
pause

getch()2>またはコードに関数を追加します

Linuxについて

今私はLinuxでも同じことをしたい

Linuxでそのプログラムをコンパイルしてa.outを取得しましたが、クリックしても何も起こりませんか?

私は1つのシェルスクリプトを作成しました:

#!/bin/bash

./a.out &

pause

スクリプトをクリックして実行しますが、それでも何も起こりませんか?


4

2 に答える 2

4

あなたが見ていないのは、それが何も開かないということです。プログラムはバックグラウンドで静かに実行されます。

出力を表示するには、ターミナルでプログラムを実行するためのシェルスクリプトを作成する必要があります。これは、次のように簡単に実行できます。

#!/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 に答える