Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 是c++;使用cdecl+编译的成员函数;默认情况下,fastcall约定?_C++_Function_Member_Conventions - Fatal编程技术网

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

C++ 是c++;使用cdecl+编译的成员函数;默认情况下,fastcall约定?,c++,function,member,conventions,C++,Function,Member,Conventions,这两个约定在x86编译模式中一起使用 对于64位编译,没有cdecl+fastcall,对吗?只是AMD 64 ABI呼叫约定?如果是这样,如何在64位模式下延迟stdcall和cdecl 这两个约定在x86编译模式中一起使用 不,你从哪里得到这个主意的?每个调用约定都是不同的,任何给定函数一次只能使用一个调用约定。不仅如此,fastcall还没有标准化。不同的32位编译器实现它的方式有所不同,所以它不能用于可移植代码。32位的唯一标准便携式呼叫约定是cdecl和stdcall 对于64位编译,

这两个约定在x86编译模式中一起使用

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

这两个约定在x86编译模式中一起使用

不,你从哪里得到这个主意的?每个调用约定都是不同的,任何给定函数一次只能使用一个调用约定。不仅如此,
fastcall
还没有标准化。不同的32位编译器实现它的方式有所不同,所以它不能用于可移植代码。32位的唯一标准便携式呼叫约定是
cdecl
stdcall

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

对。64位中只有一个通用调用约定。忽略代码中显式使用的32位调用约定

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

你没有。因为他们根本不存在

这两个约定在x86编译模式中一起使用

不,你从哪里得到这个主意的?每个调用约定都是不同的,任何给定函数一次只能使用一个调用约定。不仅如此,
fastcall
还没有标准化。不同的32位编译器实现它的方式有所不同,所以它不能用于可移植代码。32位的唯一标准便携式呼叫约定是
cdecl
stdcall

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

对。64位中只有一个通用调用约定。忽略代码中显式使用的32位调用约定

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

你没有。因为他们根本不存在