int __cdecl ccall(int i)
{
wprintf(L"ccall(%d)", i);
return 0;
}
int __stdcall stdcall(int i)
{
wprintf(L"stdcall(%d)", i);
return 0;
}
int __cdecl wmain(int argc, wchar_t **argv)
{
std::function<int(int)> fnc = ccall;
std::function<int(int)> fnstd = stdcall;
fnc(10); // printed well
fnstd(100); // printed well
return 0;
}
オブジェクトに__stdcall function
を割り当てる方法が心配でした。std::function
しかし、呼び出し規約を指定しなくても、正常に機能しているように見えます。std::function
呼び出し規約が何であるかをどうやって知ることができますか?