タグ

スタックに関するyowanoのブックマーク (1)

  • 関数を呼び出すということ - Web/DB プログラミング徹底解説

    前の資料では、WINAPI というのは __stdcall の別名であり、これは呼び出し規約であると説明しました。 そして 「呼び出し規約」 を理解するためには 「関数を呼び出す」ということがどのようなものか理解すると良いです。 尚、ここでは x86 アーキテクチャを想定しています。 結局、関数を呼び出すってどういうこと? あるプログラム A から、あるプログラム B を呼び出す時に x86 ではスタックというメモリ領域を使用します。 ここでは、A は Windows の Win32 サブシステム、B はここで作った自前のプログラムとします。 A から B の WinMain を呼び出すときのことを考えます。 この時に、A はスタックにパラメータを積み上げます。 B を実行するときに、必要に応じてスタックに積み上げられたパラメータを参照します。 B の処理が終わったら、制御は A へと戻り

    関数を呼び出すということ - Web/DB プログラミング徹底解説
    yowano
    yowano 2014/06/30
    __stdcallは、「引数のスタックへの積み上げ順序は右から左」で、「スタックの巻き戻しをするのは呼び出された側」という呼び出し規約に従って関数を実行することを示す。
  • 1