Newer
Older
TIASshot / docs / 02_ENV / ENV_06_ビルド構成とビルドフラグ.md

ビルド構成とビルドフラグ (Build Configurations and Flags)

本プロジェクトは,診断・評価用の機能(メモリ観測・白板撮影)を**条件コンパイルシンボル(ビルドフラグ)**で出し分けている.配布版(Release)にはこれらをコードごと含めない方針である.本ドキュメントは,どのフラグが何を有効化し,どの構成で定義されるかをまとめる.

設計方針 (Policy)

  • Release(配布版)=素の製品.診断・評価・デモ用の機能はコードごと除外する.
  • Debug=開発・検証版.診断/評価機能(MEMMONITORWHITEBOARD)を自動で含める.

ソリューション構成 (Solution Configurations)

TIASshot.sln が定義する構成は次の 2 つ(プラットフォームは x64 のみ).OpenCvSharp 等がネイティブ DLL に依存するため x64 でビルドする.

構成用途定義されるシンボル出力先
Debug\|x64開発・検証DEBUG TRACE WHITEBOARD MEMMONITORTIASshot/bin/x64/Debug/
Release\|x64配布TRACETIASshot/bin/x64/Release/

TIASshot.csproj には Debug\|AnyCPU / Release\|AnyCPU の PropertyGroup も残っているが,.slnx64 のみをビルド対象としており,通常はこれらを使わない. ※ TIASshot/bin/Debug-NoWB/ というフォルダが残っている場合があるが,これは WHITEBOARD フラグ導入前の古い手動ビルドの残骸であり,現在のソリューションには対応する構成は存在しない.

ビルドフラグ一覧 (Build Flags)

シンボル目的定義される構成Release(配布)含有出し分け対象(主なもの)
MEMMONITORメモリ観測ウィンドウ+プレビュー計測Debug\|x64(自動)UI/MemoryMonitorFormUI/PreviewProfilerUI/TimedPictureBoxUI/Form1.MemMonitor(F9 トグル),Form1.ShowImage 等のプレビュー計測
WHITEBOARD白板撮影モード(照明均一性評価用)Debug\|x64(自動)白板撮影ボタン(Form1 の専用 partial),Cameras/IScam.ShotWhiteBoard
DEBUG.NET 標準デバッグシンボルDebug\|x64標準(一部の開発時分岐)
TRACE.NET 標準トレースシンボル全構成System.Diagnostics.Trace

MEMMONITOR — メモリ観測・プレビュー計測

  • 起動時にメモリ観測ウィンドウ(MemoryMonitorForm)を自動で開き,PrivateMemory / WorkingSet をライブ折れ線グラフ+CSV で記録する.
  • プレビュー経路の計測(各段の実効 FPS・コピー時間・描画時間・GDI/USER/ハンドル数・画像サイズ・校正/撮影/F9 のイベント)を CSV(bin/x64/Debug/MemMonitor_Results/)に出力する.
  • 副モニタ表示を実行中に切り替える計測用ホットキー F9 も本フラグ限定で有効.
  • 配布版には不要なため Release では未定義.

WHITEBOARD — 白板撮影モード

  • SmTIAS との装置間比較(照明均一性評価)用に,校正・色補正を行わず素の RGB を保存する独立撮影パスを追加する.
  • ImagingSource(IScam)でのみ実装.未対応カメラでは通知して何もしない.
  • 配布版の舌診撮影フローには不要なため Release では未定義.

ビルド方法 (How to Build)

標準構成(Debug / Release)のビルド・テスト・実行コマンドは ENV_04_開発コマンド を参照する.Debug|x64 では WHITEBOARDMEMMONITOR が自動で有効になり(メモリ観測ウィンドウが開き,白板撮影ボタンが表示される),Release|x64 ではいずれの診断フラグも含まれない.