HOME»基本情報技術者試験掲示板»プロセスが実行される際のスタックに関して
投稿する

プロセスが実行される際のスタックに関して [2542]

 ITビギナーさん(No.1) 
  何方か教えてください。
あるプログラム、
Proc A( )
  int X1
  X1=100
  call B(X1) /*関数Bの呼び出し*/
が実行された際のメモリスタックは、
<100 /*X1に代入された値*/
<X1のアドレス
<戻りアドレス
の順になると参考書に記載されていましたが、関数Bに渡すX1は値渡しなので、<X1のアドレス後に'<引数X1'を入れた方が良いと思ったのですが、間違いでしょうか。
2020.11.06 07:46
メタルさん(No.2) 
FE ブロンズマイスター
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c006.html

うーん、スタックにProcA のローカル変数X1がはいり、次に引数で渡されたX1がはいり、ProcAに戻るアドレスが入り、空間を挟み、Bのローカル変数が入るのだと思います。

リンクもお読みください。
2020.11.08 01:55
 ITビギナーさん(No.3) 
   メタルさん、リンクまで付けていただきありがとうございます。解りやすいです。
2020.11.08 03:53
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop