環境が分からないので、正確ではありませんが、、Linux辺りかと思って、
gcc hoge.c
gcc
コマンドに引数hoge.c
を与える。 多分、gcc
は、Cコンパイラで、hoge.c
はCソースとすると、オプション指定が無い場合、a.out
という実行ファイルを出力(作成)すると思います。
sudo ./hoge.o
sudo
コマンドはスーパーユーザーで 今のディレクトリのhoge.o
ファイルの実行かと思いますが、上記の gcc hoge.c
で、作成されるのは、a.out
なので、実行ファイルが無いという事になります。
make hoge
こちらは、環境が分からないともっと意味不明ですが、、make
は、今のディレクトリの makefile
(または、Makefile
.. make依存) を参照して、引数の hoge
エントリを解釈して、実行します。従って、 makefile
の中身が分からないと、実際の動きは分かりませんが、きっと、hoge
というファイル名で実行ファイルを作る設定になっているのではないかと推測します。
この場合、次の ./hoge
で作成された hoge
が実行できます。