默认情况下,是使用cdecl+fastcall约定编译的c++成员函数



这两种约定在x86编译模式下一起使用?

对于64位编译,没有cdecl + fastcall对吗?只是AMD 64 ABI调用约定?如果是这样,如何在64位模式下延迟stdcall和cdecl ?

这两种约定在x86编译模式下一起使用?

。你哪来的这种想法?每种调用约定都是不同的,任何给定的函数一次只能使用一种调用约定。不仅如此,fastcall还没有标准化。不同的32位编译器实现它的方式不同,所以它不能用于可移植代码。32位标准的可移植呼叫约定只有cdeclstdcall

对于64位编译,没有cdecl + fastcall对吗?只是AMD 64 ABI调用约定?

是的。64位只有一个通用的呼叫约定。在代码中显式使用的32位调用约定将被忽略。

如果是这样,如何在64位模式下延迟stdcall和cdecl ?

你不。因为它们根本不存在

最新更新