相关疑难解决方法(0)

Why does Windows64 use a different calling convention from all other OSes on x86-64?

AMD has an ABI specification that describes the calling convention to use on x86-64. All OSes follow it, except for Windows which has it's own x86-64 calling convention. Why?

Does anyone know the technical, historical, or political reasons for this difference, or is it purely a matter of NIHsyndrome?

I understand that different OSes may have different needs for higher level things, but that doesn't explain why for example the register parameter passing order on Windows is rcx - rdx …

windows x86-64 calling-convention

97
推荐指数
4
解决办法
2万
查看次数

C/C++中有哪些不同的调用约定,每个含义是什么?

有不同的调用约定在C/C++提供:stdcall,extern,pascal,等有多少这样的调用约定是可用的,什么分别意味着?有没有描述这些的链接?

c c++ winapi calling-convention visual-c++

22
推荐指数
3
解决办法
2万
查看次数

标签 统计

calling-convention ×2

c ×1

c++ ×1

visual-c++ ×1

winapi ×1

windows ×1

x86-64 ×1