ログイン
編集不可のページディスカッション情報添付ファイル
"alstamber/MakeForFreshmanAndSophomore"の差分

MMA
1と2のリビジョン間の差分
2013-10-09 17:04:09時点のリビジョン1
サイズ: 2001
編集者: alstamber
コメント:
2013-10-09 17:04:52時点のリビジョン2
サイズ: 2120
編集者: alstamber
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 13: 行 13:
  * 書くのが面倒くさい人用に、ダウンロードできるようにしました。[[attachment:Makefile]]

なにこれ

  • 後期になると、1年の人は「基礎プログラミングおよび演習」、2年のI科の人は「プログラミング演習」という楽しい演習が始まります。
    • 「基礎プログラミングおよび演習」はC言語の基礎を学ぶ非常に意義深い演習で、「プログラミング演習」はC言語を用いて初歩的なデータ構造やアルゴリズムを実装するという楽しい修行です。
  • 当然プログラムを書いては動かしを繰り返すことになりますが、以下の行為の繰り返しは割とやっているとだるいです。

プログラムを書く→gccコマンドを打つ→プログラムの実行コマンドを打つ→間違っていたら直す
  • このページでは、上の手順のうち、コマンドを打つところを楽にする方法を提案します。

準備

  • プログラムをおいているディレクトリに以下のテキストをMakefileという名前で保存します。
    • 一段下がっているところは、スペースではなくてTabキーを押して下げるようにしてください。そうでないと動きません。
    • 書くのが面倒くさい人用に、ダウンロードできるようにしました。Makefile

% : %.c
        gcc -O2 -o $@ $<
        ./$@

%-math : dest = $(subst -math,,$@)
%-math : %.c
        gcc -O2 -o $(dest) $<
        ./$(dest)

使い方

  • hoge.cというプログラムを書いたとします。
  • hoge.cをコンパイルして実行したくなったら、次のコマンドを実行します。
    • hoge.cがhogeという名前のファイルにコンパイルされて勝手に実行されます。

make hoge
  • math.hをインクルードしているプログラムの場合、-lmを付けないとコンパイルに失敗することがあります。その時は次のコマンドを実行します。
    • hoge.cを-lmをつけてhogeという名前のファイルにコンパイルし、勝手に実行します。

make hoge-math

alstamber/MakeForFreshmanAndSophomore (最終更新日時 2014-10-19 14:08:07 更新者 alstamber)