Windows x64 calling conventions

前四个参数rcx,rdx ,r8,r9,其余参数从右往左入栈,小于等于64位返回值由RAX传递

浮点类型参数由XMM0,XMM1,XMM2,XMM3依次传递,浮点返回值由XMM0

非页函数寄存器传参也需要分配参数栈空间,调用者清理堆栈

cal之前堆栈必须保持 16 字节对齐

小于64位的参数并不进行高位零扩展,也就是高位是无法预测的垃圾数据(x64对寄存器低32位赋值会把高32位置零)。

emm,写着写着发现手册里说的太清楚了,撤了:https://learn.microsoft.com/zh-cn/cpp/build/x64-calling-convention?view=msvc-170