Joh*_*lla 10
一个调用约定描述的东西可以如何调用另一个函数.这需要将参数和状态传递给另一个函数,以便它可以正确执行和返回控制.完成此操作的方式必须标准化并指定,以便编译器知道如何命令参数供被调用的远程函数使用.有几个标准调用约定,但最常见的是fastcall,stdcall和cdecl.
通常,术语自定义调用约定有点用词不当,指的是以下两种情况之一:
非标准调用约定或未广泛使用的约定(例如,如果您从头开始构建体系结构).
编译器/链接器可以执行的特殊优化,它使用一次性调用约定来提高性能.
在后一种情况下,这会导致一些否则将被推入堆栈的值存储在寄存器中.编译器将尝试根据代码在代码中的使用方式做出此决定.例如,如果参数将用作循环索引的最大值,以便将索引与每次迭代的最大值进行比较以查看是否应该继续,那么将其转换为寄存器.
如果执行优化,这通常会减少代码大小并提高性能.
我作为开发人员如何影响这些?
从您作为开发人员的角度来看,您可能并不在乎; 这是一种自动发生的优化.