タイトルは自明だと思います。私はプログラムを作成していますが、2 つのうち何を使用すればよいのか、またその理由を知りたいと思っていました。
3 に答える
argp
より柔軟/強力/などかもしれませんがgetopt
、POSIX標準の一部です。これは、プログラムが移植可能であると期待するかどうかに基づいて選択する必要があります。
Argpマニュアルから:
Argpは、より一般的に使用されるgetoptインターフェースでは利用できない機能を提供します。これらの機能には、GNUコーディング標準で説明されているように、「-help」および「--version」オプションに応答して出力を自動的に生成することが含まれます。argpを使用すると、プログラマーがこれらの追加オプションの実装を怠ったり、最新の状態に保つことを怠る可能性が低くなります。
選ぶことはあまりないと思います。ArgpのWebページには次のように書かれています。
Argpは、より一般的に使用されるgetoptインターフェースでは利用できない機能を提供します。これらの機能には、GNUコーディング標準で説明されているように、「-help」および「--version」オプションに応答して出力を自動的に生成することが含まれます。argpを使用すると、プログラマーがこれらの追加オプションの実装を怠ったり、最新の状態に保つことを怠る可能性が低くなります。
Argpは、いくつかの独立して定義されたオプションパーサーを1つにマージする機能も提供し、それらの間の競合を仲介して、結果をシームレスに表示します。ライブラリは、ユーザープログラムが独自のオプションパーサーと組み合わせて使用する可能性のあるargpオプションパーサーをエクスポートできるため、ユーザープログラムの作業が少なくなります。一部のプログラムは、ライブラリによってエクスポートされた引数パーサーのみを使用する場合があります。これにより、ライブラリによって実装された抽象化に対して一貫性のある効率的なオプション解析が実現されます。