c#中的__fastcall约定

Edw*_*ard 4 c# c++ calling-convention

考虑到:

微软特定

__fastcall调用约定指定函数的参数尽可能在寄存器中传递.以下列表显示了此调用约定的实现.

并且寄存器中的读/写时间比堆栈中的更快,我们在C#中是否有任何__fastcall等价物?

Oys*_*ein 5

不是直接的,C#主要使用与MSVC++的__stdcall约定相同的东西.然而,它可以是"固定的",但是以相对较脏的方式(注意该示例适用于__cdecl).

不过,这可能是最好的方式.在像C#这样的高级语言中(即使在大多数C++程序中),这是编译器最好的优化.强制召唤惯例往往会使事情变得更糟.即使它有所帮助,它通常也不会给你带来太多,至少在我使用它的C和C++程序中.