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