wbelucky / Algorithm-b-2019

For group work of Algorithm B
0 stars 0 forks source link

grpwk

これは何

情理B2 アルゴリズムとデータ構造Bの13班グループワーク用レポジトリです

ファイル構成

エントリーポイントはsrc/main.c src/ ... コードがある obj/ ... ここに中間生成物(*.o)が置かれるようになっている

実行方法


# wsl上のgrpwkディレクトリに移動する
# windows側から移動するときは, windowsのファイル(win+Eとかで出るやつ)からレポジトリのファイルまで移動してCtrl+L => wsl => Enterで行くと速い
cd ...../grpwk 

# 最新のmasterブランチを実行するならpullしてくる(失敗したらgit stashとかする)
git pull origin master

# 精度のテストをする
make test

makeがないって言われたらmakeを入れてください..

単体で実行(本番はこれ)

# Makefileをもとにコンパイル
make

# 実行
./grpwk <入力ファイル> <出力ファイル>

とすると, 5つのテストデータを順にテストする.

方法を変えて検証する(ポスターを書く時とかに活かしてほしい)

make test ARG="--search-limit 9000 --search-method SIMPLE_BM --remaining FILL_WITH_A"

などとして引数をあたえることで, 探索方法などを変えて実行できる. 現在は --search-limit, --search-method, --markov の3つのオプションがある.

提出ファイル作成方法

make 13.tar

で提出ファイルである13.tarを生成します

機能追加の方法

このレポジトリの開発方針

まず, masterブランチは常に動くようにしたいので, masterブランチへの直接pushは控える. 機能追加する際は, git checkout -b ブランチ名などでmasterブランチから自分のブランチを切り出して, そこで作業する.

作業が終了したら, github.comのこのレポジトリのページから作業ブランチからmasterブランチへのpull requestを送る. それを誰かにレビューしてもらってマージする.

C言語ファイル追加の方法

c言語ファイルを追加するときは, .cファイルとそれに対応した.hファイルを用意する. 例えばhoge.cを作るときはhoge.hも作る. .hファイルのほうに関数定義や構造体定義をして, その実装を.cファイルでやる.

また, ファイルを追加したときは, MakefileのSRCに空白区切りで追加したファイルを列挙する.

git の使い方

まずレポジトリを作ってないなら

git clone https://github.com/WBelucky/grpwk.git

他の人が更新したものを持ってくる

git pull origin ブランチ名

自分のブランチを作ってそこに移動する

git checkout -b 作るブランチ名

ブランチを移動する

git checkout ブランチ名

ファイルを変更したら変更したファイルをgit に認識させる

git add 変更したファイル名かディレクトリ名

ファイルの更新を確定する

git commit -m "ここにコミットメッセージを書く(~~を修正, 追加とか)"

ファイルをリモート(github.com)に上げる ブランチ名はリモートに上げるブランチ(masterブランチに直接pushは良くない)

git push origin ブランチ名