コンパイルされたCプログラムの実行に問題があります。

コンパイルされたCプログラムの実行に問題があります。

VirtualBoxを介してUbuntu v10.04を実行しています。仮想マシンで生成されたファイルの永続性をテストするために、非常に基本的なCプログラムを作成しました。仮想マシンをシャットダウンして再起動すると、ファイルがそのまま残っていることがわかります。

何が起こったのか:

  • ディレクトリを調べls /root/て、program_name.cコンパイルされたディレクトリを表示できます。program_name

  • このコマンドを使用してコンパイルします。gcc program_name.c -o program_name

  • 実行でき./a.out、プログラムが正しく実行されます。

  • Cコードを開くと、nano program_name.c期待どおりにプログラムが表示されます。

問題は...

  • プログラムを進めようとしても./program_name何も起こりません!

  • 終了状態()を確認してみるとecho $?0です。

    コンパイルされたCプログラムを見つけることができるにもかかわらず、なぜ実行できないのかを理解するのが困難です。すべてのファイルを見つけて正しく実行できることを考慮すると、./a.outこれは私にとって最も奇妙なことです。

編集する:

より明確なプレゼンテーションのために編集されました。

関連する回答を編集...

file program_name他の人が助けを求めると、コマンドを実行するとファイルが空であることが示されますが、理由は判明していないことに注意してください。仮想マシンを再起動する前に実行可能ファイルを正常に実行しました。

たぶん、仮想マシンを正しくシャットダウンしていませんか?とにかく、ファイルを確認するのに役立ちます!

ベストアンサー1

-oオプションを使用してコンパイルされたプログラムの名前を変更したので、他のもの(以前のバージョンまたはまったく関連していないもの)に属するa.outを持つようになりました。

プログラムは実行中ですが、出力が返されない可能性があります。ファイルサイズを確認し、file program_name実行可能であることを確認し、コードが何をすべきかを確認します(おそらくパラメータを使用)。

おすすめ記事