私が呼び出す場合:mainにパラメータとしてプログラム名を渡すのはなぜですか?
./program hello world
その後:
argc would be 3.
argv[0] would be "./program".
argv[1] would be "hello".
argv[2] would be "world".
引数として "./program" を渡すの目的は何ですか?実際、それはまったく議論ではありません!
私が呼び出す場合:mainにパラメータとしてプログラム名を渡すのはなぜですか?
./program hello world
その後:
argc would be 3.
argv[0] would be "./program".
argv[1] would be "hello".
argv[2] would be "world".
引数として "./program" を渡すの目的は何ですか?実際、それはまったく議論ではありません!
1つの使用法は、アプリケーションがどのように呼び出されたかを知ることができるようにすることです(基本的には、それ自身の名前です)。
argv[]
に表示される内容は、実装定義です。たとえば、UNIXのexec()
関数のいずれかを使用する場合、内容は好きなようにすることができます。
シンボリックリンクを同じバイナリにすることができます。あなたが使っているリンクに応じて、あなたは違った振る舞いをします。 Busyboxはその一例です。
...実行可能ファイルの名前が変更されたときに更新する必要のないヘルプテキストを表示する便利なヘルプ機能を作成することができます。
すべてクリアです。ありがとう! – bluehallu