呼び出し規則 (コーリング・コンベンション)

前ページ スタックフレーム で紹介した関数の手続き手順は、 実は __stdcall という呼び出し規則 (calling convention) です。

__stdcall

__stdcall は Windows API で最も広く使われている規則です。

実は、__stdcall の他にも呼び出し規則はあります。 ですから、スタックフレームが厳密に前述の通りになっていなくても、 「スタックが壊れている」 と判断することはできません。

ここでは代表的な呼び出し規則とその場合の注意点をまとめます。

__cdecl

C 言語で使われる規則です。 __stdcall と似ていますが、 スタックの巻き戻しが呼び出し側で発生するところが違います。

__thiscall

C++ の呼び出し規則です。ecx に this ポインタが入ります。

FPO フレーム

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説