[ファイルの説明]
ginga01.fun.ac.jpマシンの/export/home/Fun/DCS/2023/resource/1/
ディレクトリには以下のファイルが含まれている.まず,これらのファイルを
ginga01.fun.ac.jpの自分のディレクトリにコピーする.
1. pursuit.{c,o}: main関数を含む追跡ゲームのマネージャプログラムのソー
スコードとオブジェクト(再配置可能形式,リロケータブルモジュー
ル).以下では「テスト用pursuit.{c,o}」と呼ぶ.このプログラムと
リンクしてコンパイルされたオブジェクト(実行可能形式,ロードモ
ジュール)は,起動時にコマンドラインで以下のオプションを受け付
ける.仮に生成したオブジェクト名を run とする.
%run [-w filename] [-s maxclock] [-t sleeptime]
オプションは重複しないよう,一つずつ独立に選択できる.
つまり,一つ以上三つ以下ののオプションを任意に選んで与えられる.
(オプションの説明)
-w 初期状態ファイルの指定.
このオプション指示子の後に与えられたファイルを初期状態
ファイルとして読み込む.オプションが与えられなかった場
合は,ディフォルトで "battlefield.dat"というファイルを
読み込む.
-s 最大クロック数の指定.
このオプション指示子の後に与えられた正の整数を最大クロッ
ク数にセットする.オプションが与えられなかった場合は,
ディフォルトで30クロックに設定する.
-t 画面リフレッシュの間隔
このオプション指示子の後に与えられた非負の整数(単位はマ
イクロセカンド)を画面リフレッシュの間隔とする.オプショ
ンが与えられなかった場合は,ディフォルトで0マイクロセ
カンド(つまり0秒)に設定する.画面リフレッシュの間隔を
0.5秒にしたい場合は -t の後に 500,000 (500,000マイクロ
セカンドの意味)を指定する.
2. predator.o: Predator関数を含む捕食者のプログラムのオブジェクト(リロ
ケータブルモジュール).以下では「テスト用predator.o」と呼ぶ.
3. prey.o: Prey関数を含む獲物のプログラムのオブジェクト(リロケータブル
モジュール).以下では「テスト用prey.o」と呼ぶ.
4. battlefield.dat: 格子世界の初期状態を設定するためのデータ
ファイル.
5. run: テスト用のpursuit.o, predator.o, そして prey.o をリンクして生
成したオブジェクト(実行可能形式).
[ファイルの使い方]
自分で作成した predator.c とテスト用pursuit.o および テスト用prey.o を
コンパイルして,例えば run という名前のオブジェクト(実行可能形式)を生
成したい場合は以下のようにする.ファイルの順番は任意である.
コンパイルの時に pthreadライブラリというのをリンクしなければなりませんの
で, 最後に必ず -lpthread という引数を与えること.
%gcc -o run pursuit.o prey.o predator.c -lpthread
コンパイル時に警告がたくさん出て煩わしい場合は gcc に "-std=c99"
というオプションを与えるとうまくいくかも知れない.
また,自分の作成した prey.c や pursuit.c をテスト用プログラムとコンパ
イル・リンクしたい場合は,上記の例でそれに対応する部分を変えればよい.
さらに,自分の作成した pursuit.c および prey.c とテスト用の
predator.o をコンパイルして run という名前のオブジェクト(実行可能形式)
を生成したい場合は以下のようにする.同様にファイルの順番は任意である.
%gcc -o run pursuit.c predator.o prey.c -lpthread -std=c99
(以上)