在win64里,只有一种调用约定
在win64里,只有一种调用约定。以下是通过寄存器来传递4个整数类型的例子:
*RCX:第一个参数
*RDX:第二个参数
*R8:第三个参数
*R9:第四个参数
参数里开头的4个整数会这样传给栈。传递浮点数参数时,使用的是XMMO-XMM3寄存器。
调用约定简化了:一律使用__fastcall,前四个参数用 RCX、RDX、R8 和 R9传递,除了这四个外加RAX、R10、R11,其他寄存器都是非易失的。
/***********************************************
看书看原版,原汁原味。
不会英文?没关系,硬着头皮看下去慢慢熟练,才会有真正收获。
没有原书,也要网上找PDF来看。
网上的原版资料多了去了,下载东西也到原始下载点去看看。
你会知其所以然,呵呵。
***********************************************/