C 程序激活时间

C 程序激活时间,c,procedure,calling-convention,function-calls,C,Procedure,Calling Convention,Function Calls,过程激活时间是编译时间的一部分吗?在编译时间中,执行函数调用的准备工作 或者,当函数实际被调用时,它是运行时的一部分吗 (虽然不确定,但我还是选择了第二个选项)您可能指的是函数的调用方式。我假设您想知道参数是如何传递、复制等的 每个函数都有一个“调用约定”,指定如何调用函数。这是程序在堆栈上放置参数、在调用函数中保存指令的当前位置并跳转到被调用函数的第一条指令的过程。此外,调用约定指定如何返回调用函数以及如何保存返回值。如何做到这一点取决于特定平台,并取决于给定函数使用的调用约定 根据调用约定,

过程激活时间是编译时间的一部分吗?在编译时间中,执行函数调用的准备工作

或者,当函数实际被调用时,它是运行时的一部分吗


(虽然不确定,但我还是选择了第二个选项)

您可能指的是函数的调用方式。我假设您想知道参数是如何传递、复制等的

每个函数都有一个“调用约定”,指定如何调用函数。这是程序在堆栈上放置参数、在调用函数中保存指令的当前位置并跳转到被调用函数的第一条指令的过程。此外,调用约定指定如何返回调用函数以及如何保存返回值。如何做到这一点取决于特定平台,并取决于给定函数使用的调用约定

根据调用约定,编译器发出代码以执行调用函数的正确步骤。此代码将在运行时执行以执行调用。您可以在wikipedia上阅读更多关于x86调用约定的信息。

您所说的“过程激活时间”是什么意思?@unwind,我猜他想知道如何调用函数