1

さて、関数の使用例CALLBACKと通常の関数の2つの例を示します。
注:これらの例は作成していません。

通常の機能

int sumExample (int a, int b)
{
    return a + b;
}
int main()
{
     int = sumExample(1, 3);
     cout  >> int;
     return 0;
}

_stdcallを使用した関数

int __stdcall sumExample (int a, int b);

違いはなんですか?
注:呼び出し規約がどのように機能するかはわかりません。例が役立ちます。

4

2 に答える 2

2

それほど多くはありません。「コールバック」とは、別の関数に渡される関数に付けられた名前であり、何か便利なことが起こったときに「コールバック」します。ただし、通常の機能としても使用できない理由はありません。

于 2010-11-27T19:38:44.980 に答える
2

基本的に、呼び出し規約は、関数が呼び出される方法の実装の詳細を指定します。ほとんどのライブラリは、標準Cの呼び出し規約を使用しています- __cdecl。ただし、WinAPIはを期待し__stdcallます。呼び出し規約について知っておく必要があるのは、2つのことだけです。たとえば、void(*)(int, int)暗黙的にaである、をにvoid(__cdecl *)(int, int)変換できないvoid(__stdcall *)(int, int)ことと、デフォルトが。であることです__cdeclCALLBACK必要に応じて変更できるように、単なるWinAPI#defineです。

于 2010-11-27T19:46:22.717 に答える