OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Linux におけるコンパイル について

  • 困ってます
  • 質問No.131954
  • 閲覧数97
  • ありがとう数3
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 26% (46/175)

みなさんは、Linuxにおいて、C言語をコンパイルするときはどのようにしていますか?
超初心者的な質問ですみません。わからないのです。
ちなみに、Red Hatの7.1 を使っています。
できれば、一番簡単なHello World!プログラムを使って説明していただけないでしょうか。

makeコマンド?の意味もわからないので、できればわかりやすく、説明してください。
いろいろと、すみません。
どうか、お願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

natural> Hello World!の様な小さなプログラムであればgcc単体で行った方が簡単です。

これは、大きな誤解なんだなあ。例えば、

% gcc -o sample sample.c

に相当することを make を使ってやるのだったら

% make sample

で良いんですね。Makefile というファイルを作らなくても良いんです。

make は、元になるファイルから何かのコマンド(複数でも良い)を実行して、
あるファイルを作成するということを、なるべく楽に出来るように作られている
コマンドです。

元のファイル→出来上がるファイルの関係がありますから、もし、元のファイルが
出来上がるファイルよりも新しければ、もう一度「作る」ってことをしなくては
いけない、ということをなるべく機械的に実行できます。

ちょっと複雑になると、元になるファイルが複数あるとか、C言語の include の
ように、元になるファイルがあるファイルの記述を参照しているとか、そういった
関係も出てくるので、そのファイルの関係や、実行するコマンドやパラメータを
Makefile というファイルに記述して make に教えてあげることができます。

どんなファイルでも良いようになっているのですが、よくある場面として、
ソースファイルから実行プログラムを作る、というのがあるので、そのうち
メジャーな言語については「デフォルトの推論規則」っていうのがあって、
決まったパターンであれば、Makefile さえ作る必要がありません。

例えば、C言語だったら sample.c というソースを作れば、sample という
実行プログラムを作るのがデフォルトの推論規則として、既に make が持って
います。
お礼コメント
tomatosuki

お礼率 26% (46/175)

なるほど、よくわかりました。
どうも、ご親切にありがとうございました
投稿日時 - 2001-09-13 07:44:16
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

コマンドラインでgccを使用してコンパイルします。 # gcc -o sample sample.c (#はプロンプト) といった感じでしょうか。 "-o sample"は実行ファイル名をsampleという名前にするように指定しています。 これを付けないとa.outという名前の実行ファイルになってしまいます。 尚、makeはMakefileの記述を解釈・実行するコマン ...続きを読む
コマンドラインでgccを使用してコンパイルします。

# gcc -o sample sample.c (#はプロンプト)

といった感じでしょうか。
"-o sample"は実行ファイル名をsampleという名前にするように指定しています。
これを付けないとa.outという名前の実行ファイルになってしまいます。
尚、makeはMakefileの記述を解釈・実行するコマンドで、Makefileにはコンパイル・リンクの手順を記述しておきます。
Hello World!の様な小さなプログラムであればgcc単体で行った方が簡単です。
makeに関しては参考URLをご覧下さい。

#RedHatにはgccが標準で入っているはずですが、見つからない場合はfind
#コマンド等で探し、pathを通して再実行してください。
#それでも見つからない場合はインストールディスクの何処か、または
#ネット上から探してくることになります。
お礼コメント
tomatosuki

お礼率 26% (46/175)

なるほど、よくわかりました。
どうも、ご親切にありがとうございました。
投稿日時 - 2001-09-13 07:43:37


  • 回答No.3
レベル9

ベストアンサー率 54% (39/72)

makeコマンドの存在をしっているのであればまずman makeとかman gccとかするべきでしょう。 manにはmake.texinfoを見よと書いてあると思うのでmakeのソースを入手してinfo形式もしくはdvi形式のファイルを作れば詳しいことがわかります。(ただし、英語) ソースの入手方法やtexinfo形式ファイルの処理方法は別途勉強してください。 もし、英語では読みこなせな ...続きを読む
makeコマンドの存在をしっているのであればまずman makeとかman gccとかするべきでしょう。

manにはmake.texinfoを見よと書いてあると思うのでmakeのソースを入手してinfo形式もしくはdvi形式のファイルを作れば詳しいことがわかります。(ただし、英語)

ソースの入手方法やtexinfo形式ファイルの処理方法は別途勉強してください。

もし、英語では読みこなせないばあいは書籍をさがすしかないかな。
お礼コメント
tomatosuki

お礼率 26% (46/175)

なるほど、よくわかりました。
どうも、ご親切にありがとうございました
投稿日時 - 2001-09-13 07:43:55
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ