質問

していまあ@のコマンドライン引数になります。

myprog.exe -cfgfile myconfig.cfg

コマンドライン引数が渡された場合の過程で作成されないstrored外部のですか?

OSが店舗ですか?

役に立ちましたか?

解決

WIndowsのコマンドライン引数の処理環境のブロックPEBるが、ユーザーのプロセススペースの場合のプロセスが作成されます。

まWindows炉内構造物に多くあります。この スニペットから第5章-プロセス、スレッドは、雇用.

いると想定する人はいないでしょうか、同じUnixお召し上がりいただけます。このデータが必要に記憶できるようにアクセスの過程そのものです。

他のヒント

これは、OSと、おそらく言語に依存します。良いC中心の答えがOSは(コードをロードするなど、ヒープ及びスタックを作成する、など)プロセス空間を作成することです。そして、それはのargc」にスタック上の「ARGV」、および単語の数に引数ベクトルのアドレスを場所にコマンドライン引数ベクトルを置き、次にコピーします。

は、これらのタスクが完了した後にのみ、OSがプロセスを実行することを可能にします。

は、コマンドライン引数は、アプリケーションのメモリ空間に格納されています。正確には、私の推測では、それは通常、ヒープの一番下に行くOSへのOSとは異なりますです。それはUnixライクなOS上でのexecのためのカーネルのソースコードでありプットのコードは、必ずどこそれは(あなたがとにかくソースを見ることができないということ)Windowsでなりません。 Cランタイムコード(「CRT」はどこから来るこれは)スタックからARGVとARGCを取り、その後、メイン呼び出します。あなたはより多くのLinuxで実行可能な起動する、ウルリック・ドレパー(glibcのメンテナ)によって、この論文は価値がある方法を学習に興味がある場合:<のhref =「http://people.redhat.com/drepper/dsohowto.pdf」 rel = "nofollowをnoreferrer"> http://people.redhat.com/drepper/dsohowto.pdf の

Linuxでの

: コマンドライン引数はスタックに保存されます。 コマンドライン引数と環境変数混同いけない、プロセスのアドレス空間の環境変数のための独立したメモリ領域を持っている。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top