[ファイルの説明] 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 (以上)