タグ

ブックマーク / ray.sakura.ne.jp (1)

  • 第9回 C の関数との連携

    前のページ | 目次 | 次のページ 今回の内容 前回サブルーチンの呼び出しをやったので、今回はその応用として C の関数との連携をやります。この辺は処理系に依存するので、Windows の場合に限って話を進めます。 呼び出し規約 まず、C の呼び出し規約は3種類あります。VC++ の名前で言うと __cdecl, __stdcall, __fastcall です。VC++ では普段使われているのが __cdecl で、DLL などで使う WINAPI は __stdcall に define されています。__fastcall は普通使われていないようです。また、C++ のメンバ関数呼び出し用の規約として thiscall というのもあります。 まず、全ての規約の概略を説明しましょう。引数はスタックに push して渡します。32bit 以下の引数は全て 32bit に拡張されてスタック

  • 1