系统调用约定

Posted 流浪孤儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统调用约定相关的知识,希望对你有一定的参考价值。

常见的函数调用约定

cdecl,stdcall,fastcall,thiscall,naked call

简单介绍

HANDLE WINAPI GetStdHandle(

    _In_ DWORD nStdHandle

);

//WINAPI不是返回值的类型,HANDLE才是

像这种函数的返回值我们如果不知道WINAP是系统调用约定的话就很难看懂这函数的返回值为什么这么奇怪

#define WINAPI __stdcall

默认情况下,我们的函数调用都是遵循__stdcall这个规则的。当然,也有诸如__cdecl、__pascal等规则。

使用__stdcall还是__cdecl或__pascal,在纯Windows编程下并非特别需要。

以上是关于系统调用约定的主要内容,如果未能解决你的问题,请参考以下文章

IDA逆向笔记-C语言入参顺序约定和结构体

汇编 ? cdecl 函数调用约定,stdcall 函数调用约定

API的性能约定

API的性能约定

x86 x64下调用约定浅析

C/C++学习笔记 关于调用约定