質問はひどく明確ではありません。質問は「どのようなメカニズムが存在するのか」、「引数と形式の規則は何ですか?」、または「どのように組み合わせる必要がありますか?」ですか?
(少なくともUNIXの世界では)いくつかのかなり標準的な方法があります。
- 環境変数
- 構成ファイル
- コマンドライン引数
- 上記のサブセットとして、コマンドラインで指定された構成ファイル
あなた自身のプログラムに使用する方法を選択するには、あなた自身の選択を凍結する前に、受け入れられた実践の規範から多くのプログラムを調べ、いくつかのブログを読み、いくつかの本を読んでください...
構成ファイルは、おそらくオペレーティングシステム間で最も移植性があります。
治療はかなり複雑になる可能性があります。コマンドライン引数が構成ファイルまたは環境変数の解釈に影響を与える可能性があるが、それでもコマンドラインで他のメカニズムを無効にしたい場合(良い考え)、3つのパスが必要になる場合があります。
- コマンドラインを解析し、以降の設定に影響する変数を設定します(どの構成ファイルを読み取るかなど)
- 構成ファイルと環境変数を処理します(どのような順序ですか?)
- コマンドラインを再実行して、他のすべての設定を上書きします。
UNIXの伝統では、とを見てgetopt
くださいgetopt_long
。次のようなツールも検討してくださいgengetopt
環境変数を設定するシェルスクリプトを作成することで、構成ファイルの問題を単純化できます(ただし、これによりUNIXモデルに固定されます)。プレーンテキストの解析は簡単でクロスプラットフォームですが、より多くのコードを書くことができます。標準フォーマットとライブラリを使用すると、ユーザーのビルド環境に要件が課せられますが、バグや混乱を防ぐことができます。
構成環境が複雑な場合は、必要に応じて渡すことができる構造に構成状態をカプセル化すると非常に役立ちます。これは、によって採用されたアプローチgengetopt
であり、私はそれが有用であることがわかりました。