Skip to content

ファイルの配置

Ryota Shioya edited this page Mar 24, 2022 · 2 revisions

dst/仕様/プロジェクト/ファイルの配置.md

ファイル名

  • 大文字と小文字を組み合わせて使用
  • 基本的にはファイル内の主たるクラス名に合わせる
  • 一部歴史的経緯で小文字のままになっているものがあるが,新しいものは全て上のルールに従う

ファイルとディレクトリの配置

lib

  • Onikiri2で使用するライブラリが置かれる
  • 現在使用しているライブラリは以下の通り
    • boost
    • shttl
    • tinyxml
    • zlib

src

Emu

  • エミュレーションの実装

Env

  • 環境に関するもの
    • Param
      • パラメータの読み書き
    • Env
      • 実行パスなど
    • Dumper
      • 各種ダンプ

Interface

  • 全体で使用するインターフェースが置かれる

pch

  • プリコンパイルドヘッダが置かれる

Sim

  • シミュレータの主な実装が置かれる

SysDeps

  • 環境依存の定義や実装が置かれる

User

  • ユーザーモジュールが置かれる

Utility

  • ユーティリティクラスが置かれる

ルール

環境依存コード

  • コンパイラや実行環境に依存するものは全て/src/SysDeps内に置くこと.
    • シミュレータ内では,基本的に必要ないはず
  • 環境依存の実装行う場合は,最低でもMSVC/Windowsとgcc/Linuxで動作する実装を置くこと
  • それ以外の環境でコンパイルが行われた場合,エラーとするようにしておくこと

インターフェース

  • エミュレータ/シミュレータ間で使用するインターフェースは/src/Interface内に置かれる
  • /src/Interface内では定数定義とインターフェース定義のみを行うこと
  • 絶対に実装を持ち込んではいけない

ユーザモジュール

  • 各ユーザが作成する追加のモジュールは/src/User以下に配置し,適宜main.cpp等で読み込むこと
    • それ以外のファイルは可能な限りいじらない
  • DefaultParamについては,main.cpp先頭のEnv::Initializeに追加で渡せるので,それを使用する
    • 以下は例
vector<String> defaultParams;
defaultParams.push_back( g_registerCacheDefaultParam );
defaultParams.push_back( g_branchPreDecisionDefaultParam );
g_env.Initialize(argc, argv, defaultParams);
  • プリコンパイルドヘッダにファイルを追加したい場合,/src/User/UserPCH.h に追加すれば自動的に読み込まれる

(文責:しおや

Clone this wiki locally